Build: world-goblins
Name: python-contourpy-1.2.1-5
maintainer: Artoo
email: artoo at artixlinux.org
[1]https://orion.artixlinux.org/job/packages/job/python-contourpy/job/m
aster/12/
References
1. https://orion.artixlinux.org/job/packages/job/python-contourpy/job/master/12/
-------------- next part --------------
Push event to branch master
Looking up repository packages/python-contourpy
Querying the current revision of branch master...
Current revision of branch master is 8674229ad5c93867cc4bab1addebe48ead9104f5
Obtained .artixlinux/Jenkinsfile from 8674229ad5c93867cc4bab1addebe48ead9104f5
Loading library artix-ci at orion
Attempting to resolve orion from remote references...
> git --version # timeout=10
> git --version # 'git version 2.45.2'
using GIT_ASKPASS to set credentials jenkins gitea token
> git ls-remote -- https://gitea.artixlinux.org/artix/pipeline-libs.git # timeout=10
Found match: refs/heads/orion revision 880bd3745db54fd7d2bc517b1ce67190bee429ae
Selected Git installation does not exist. Using Default
The recommended git tool is: NONE
using credential jenkins-gotea-token
Cloning the remote Git repository
Cloning with configured refspecs honoured and without tags
Cloning repository https://gitea.artixlinux.org/artix/pipeline-libs.git
> git init /var/lib/jenkins/workspace/packages_python-contourpy_master at libs/d1b6e538991d6cf27c1f72e8cf4d6e290b22a9c93094b0e97e3a05b8d58db898 # timeout=10
Fetching upstream changes from https://gitea.artixlinux.org/artix/pipeline-libs.git
> git --version # timeout=10
> git --version # 'git version 2.45.2'
using GIT_ASKPASS to set credentials jenkins gitea token
> git fetch --no-tags --force --progress -- https://gitea.artixlinux.org/artix/pipeline-libs.git +refs/heads/orion:refs/remotes/origin/orion # timeout=10
> git config remote.origin.url https://gitea.artixlinux.org/artix/pipeline-libs.git # timeout=10
> git config --add remote.origin.fetch +refs/heads/orion:refs/remotes/origin/orion # timeout=10
Avoid second fetch
Checking out Revision 880bd3745db54fd7d2bc517b1ce67190bee429ae (orion)
> git config core.sparsecheckout # timeout=10
> git checkout -f 880bd3745db54fd7d2bc517b1ce67190bee429ae # timeout=10
Commit message: "Merge pull request 'fix check args' (#69) from master into orion"
[Gitea] Notifying branch build status: PENDING Build started...
[Gitea] Notified
[Pipeline] Start of Pipeline
[Pipeline] catchError
[Pipeline] {
[Pipeline] libraryResource
[Pipeline] readYaml
[Pipeline] }
[Pipeline] // catchError
[Pipeline] node
Still waiting to schedule task
Waiting for next available executor on ‘Jenkins’
Running on Jenkins in /var/lib/jenkins/workspace/packages_python-contourpy_master
[Pipeline] {
[Pipeline] timestamps
[Pipeline] {
[Pipeline] ansiColor
[Pipeline] {
[2024-06-23T21:21:53.134Z]
[Pipeline] stage
[Pipeline] { (Checkout)
[Pipeline] checkout
[2024-06-23T21:21:53.194Z] The recommended git tool is: NONE
[2024-06-23T21:21:53.194Z] using credential jenkins-gotea-token
[2024-06-23T21:21:53.362Z] Cloning the remote Git repository
[2024-06-23T21:21:53.362Z] Cloning with configured refspecs honoured and without tags
[2024-06-23T21:21:53.362Z] Cloning repository https://gitea.artixlinux.org/packages/python-contourpy.git
[2024-06-23T21:21:53.363Z] > git init /var/lib/jenkins/workspace/packages_python-contourpy_master # timeout=10
[2024-06-23T21:21:53.372Z] Fetching upstream changes from https://gitea.artixlinux.org/packages/python-contourpy.git
[2024-06-23T21:21:53.372Z] > git --version # timeout=10
[2024-06-23T21:21:53.377Z] > git --version # 'git version 2.45.2'
[2024-06-23T21:21:53.377Z] using GIT_ASKPASS to set credentials jenkins gitea token
[2024-06-23T21:21:53.383Z] > git fetch --no-tags --force --progress -- https://gitea.artixlinux.org/packages/python-contourpy.git +refs/heads/master:refs/remotes/origin/master # timeout=10
[2024-06-23T21:21:53.598Z] > git config remote.origin.url https://gitea.artixlinux.org/packages/python-contourpy.git # timeout=10
[2024-06-23T21:21:53.605Z] > git config --add remote.origin.fetch +refs/heads/master:refs/remotes/origin/master # timeout=10
[2024-06-23T21:21:53.614Z] Avoid second fetch
[2024-06-23T21:21:53.614Z] Checking out Revision 8674229ad5c93867cc4bab1addebe48ead9104f5 (master)
[2024-06-23T21:21:53.614Z] > git config core.sparsecheckout # timeout=10
[2024-06-23T21:21:53.621Z] > git checkout -f 8674229ad5c93867cc4bab1addebe48ead9104f5 # timeout=10
[2024-06-23T21:21:53.632Z] Commit message: "[world-goblins] 'python-contourpy-1.2.1-5' add"
[2024-06-23T21:21:53.632Z] > git rev-list --no-walk c93c22271f3c8ab89d0db361730b14f0d3babc5a # timeout=10
[2024-06-23T21:21:53.647Z] [Gitea] Notifying branch build status: PENDING Build started...
[2024-06-23T21:21:53.798Z] [Gitea] Notified
[Pipeline] readYaml
[Pipeline] sh
[2024-06-23T21:21:54.063Z] + git show -s --format=%an 8674229ad5c93867cc4bab1addebe48ead9104f5
[Pipeline] sh
[2024-06-23T21:21:54.321Z] + git show -s --format=%ae 8674229ad5c93867cc4bab1addebe48ead9104f5
[Pipeline] echo
[2024-06-23T21:21:54.345Z] addRepo=world-goblins
[Pipeline] echo
[2024-06-23T21:21:54.350Z] removeRepo=null
[Pipeline] echo
[2024-06-23T21:21:54.355Z] triggersBuild=true
[Pipeline] echo
[2024-06-23T21:21:54.360Z] triggersRebuild=false
[Pipeline] echo
[2024-06-23T21:21:54.365Z] triggersRepoAdd=true
[Pipeline] echo
[2024-06-23T21:21:54.369Z] triggersRepoRemove=false
[Pipeline] echo
[2024-06-23T21:21:54.374Z] triggersNoCheck=false
[Pipeline] echo
[2024-06-23T21:21:54.379Z] name=Artoo
[Pipeline] echo
[2024-06-23T21:21:54.384Z] email=artoo at artixlinux.org
[Pipeline] echo
[2024-06-23T21:21:54.388Z] credentialsId=BUILDBOT_GPGP
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Build)
[Pipeline] catchError
[Pipeline] {
[Pipeline] sh
[2024-06-23T21:21:54.726Z] + buildpkg -n -a x86_64 -d world-goblins -e 'Artoo <artoo at artixlinux.org>'
[2024-06-23T21:21:58.848Z] :: Synchronizing package databases...
[2024-06-23T21:21:58.848Z] system-goblins downloading...
[2024-06-23T21:21:58.848Z] system-gremlins downloading...
[2024-06-23T21:21:58.848Z] system downloading...
[2024-06-23T21:21:58.848Z] world-goblins downloading...
[2024-06-23T21:21:58.848Z] world-gremlins downloading...
[2024-06-23T21:21:58.848Z] world downloading...
[2024-06-23T21:21:58.848Z] :: Starting full system upgrade...
[2024-06-23T21:21:59.098Z] there is nothing to do
[2024-06-23T21:22:01.581Z] ==> Building in chroot for [world-goblins] (x86_64)...
[2024-06-23T21:22:01.831Z] ==> Synchronizing chroot copy [/build/buildpkg/world-goblins-x86_64/root] -> [jenkins]...done
[2024-06-23T21:22:03.174Z] ==> Making package: python-contourpy 1.2.1-5 (Sun Jun 23 23:22:03 2024)
[2024-06-23T21:22:03.174Z] ==> Retrieving sources...
[2024-06-23T21:22:03.174Z] -> Found contourpy-1.2.1.tar.gz
[2024-06-23T21:22:03.174Z] ==> Validating source files with sha256sums...
[2024-06-23T21:22:03.424Z] contourpy-1.2.1.tar.gz ... Passed
[2024-06-23T21:22:09.905Z] ==> Making package: python-contourpy 1.2.1-5 (Sun Jun 23 21:22:08 2024)
[2024-06-23T21:22:09.905Z] ==> Checking runtime dependencies...
[2024-06-23T21:22:09.905Z] ==> Installing missing dependencies...
[2024-06-23T21:22:09.905Z] resolving dependencies...
[2024-06-23T21:22:09.905Z] looking for conflicting packages...
[2024-06-23T21:22:09.905Z]
[2024-06-23T21:22:09.905Z] Package (4) New Version Net Change
[2024-06-23T21:22:09.905Z]
[2024-06-23T21:22:09.905Z] world/blas 3.12.0-5 0.65 MiB
[2024-06-23T21:22:09.905Z] world/cblas 3.12.0-5 0.34 MiB
[2024-06-23T21:22:09.905Z] world/lapack 3.12.0-5 7.48 MiB
[2024-06-23T21:22:09.905Z] world-goblins/python-numpy 2.0.0-1 46.33 MiB
[2024-06-23T21:22:09.905Z]
[2024-06-23T21:22:09.905Z] Total Installed Size: 54.79 MiB
[2024-06-23T21:22:09.905Z]
[2024-06-23T21:22:09.905Z] :: Proceed with installation? [Y/n]
[2024-06-23T21:22:09.905Z] checking keyring...
[2024-06-23T21:22:09.905Z] checking package integrity...
[2024-06-23T21:22:09.905Z] loading package files...
[2024-06-23T21:22:09.905Z] checking for file conflicts...
[2024-06-23T21:22:09.905Z] :: Processing package changes...
[2024-06-23T21:22:09.905Z] installing blas...
[2024-06-23T21:22:09.905Z] installing cblas...
[2024-06-23T21:22:09.905Z] installing lapack...
[2024-06-23T21:22:09.905Z] installing python-numpy...
[2024-06-23T21:22:09.905Z] Optional dependencies for python-numpy
[2024-06-23T21:22:09.905Z] blas-openblas: faster linear algebra
[2024-06-23T21:22:09.905Z] ==> Checking buildtime dependencies...
[2024-06-23T21:22:09.905Z] ==> Installing missing dependencies...
[2024-06-23T21:22:09.905Z] resolving dependencies...
[2024-06-23T21:22:09.905Z] looking for conflicting packages...
[2024-06-23T21:22:09.905Z] warning: dependency cycle detected:
[2024-06-23T21:22:09.905Z] warning: harfbuzz will be installed before its freetype2 dependency
[2024-06-23T21:22:09.905Z]
[2024-06-23T21:22:09.905Z] Package (42) New Version Net Change Download Size
[2024-06-23T21:22:09.905Z]
[2024-06-23T21:22:09.905Z] world/freetype2 2.13.2-1 1.63 MiB
[2024-06-23T21:22:09.905Z] world/fribidi 1.0.15-1 0.24 MiB
[2024-06-23T21:22:09.905Z] world/graphite 1:1.3.14-3 0.20 MiB
[2024-06-23T21:22:09.905Z] world/harfbuzz 8.5.0-1 4.04 MiB
[2024-06-23T21:22:09.905Z] world/jbigkit 2.1-8 0.16 MiB
[2024-06-23T21:22:09.905Z] world/lcms2 2.16-1 0.67 MiB
[2024-06-23T21:22:09.905Z] world/libimagequant 4.3.1-1 0.59 MiB
[2024-06-23T21:22:09.905Z] world/libjpeg-turbo 3.0.3-1 2.27 MiB
[2024-06-23T21:22:09.905Z] world/libpng 1.6.43-1 0.57 MiB
[2024-06-23T21:22:09.905Z] world/libraqm 0.10.1-1 0.18 MiB
[2024-06-23T21:22:09.905Z] world/libtiff 4.6.0-5 1.28 MiB
[2024-06-23T21:22:09.905Z] world/libxau 1.0.11-2 0.02 MiB
[2024-06-23T21:22:09.905Z] world/libxcb 1.17.0-1 3.86 MiB
[2024-06-23T21:22:09.905Z] world/libxdmcp 1.1.5-1 0.13 MiB
[2024-06-23T21:22:09.905Z] world/meson 1.4.1-1 12.45 MiB
[2024-06-23T21:22:09.905Z] world/ninja 1.12.1-1 0.38 MiB
[2024-06-23T21:22:09.905Z] world/openjpeg2 2.5.2-1 13.28 MiB
[2024-06-23T21:22:09.905Z] world/patchelf 0.18.0-3 0.24 MiB
[2024-06-23T21:22:09.905Z] world/python-contourpy 1.2.1-3 0.85 MiB
[2024-06-23T21:22:09.905Z] world/python-cycler 0.12.1-2 0.07 MiB
[2024-06-23T21:22:09.905Z] world/python-dateutil 2.9.0-5 0.99 MiB
[2024-06-23T21:22:09.905Z] world/python-fonttools 4.53.0-1 19.14 MiB
[2024-06-23T21:22:09.905Z] world/python-iniconfig 2.0.0-5 0.04 MiB
[2024-06-23T21:22:09.905Z] world/python-kiwisolver 1.4.5-3 0.14 MiB
[2024-06-23T21:22:09.905Z] world/python-packaging 24.0-1 0.50 MiB
[2024-06-23T21:22:09.905Z] world/python-pillow 10.3.0-2 4.01 MiB
[2024-06-23T21:22:09.905Z] world/python-pluggy 1.5.0-1 0.20 MiB
[2024-06-23T21:22:09.905Z] world/python-pyparsing 3.1.2-2 1.25 MiB
[2024-06-23T21:22:09.905Z] world/python-pyproject-hooks 1.1.0-1 0.10 MiB
[2024-06-23T21:22:09.905Z] world/python-pyproject-metadata 0.8.0-1 0.08 MiB
[2024-06-23T21:22:09.905Z] world/python-six 1.16.0-9 0.11 MiB
[2024-06-23T21:22:09.905Z] world/python-tqdm 4.66.4-1 0.60 MiB
[2024-06-23T21:22:09.905Z] world/qhull 2020.2-4 6.82 MiB
[2024-06-23T21:22:09.905Z] world/xcb-proto 1.17.0-2 1.02 MiB
[2024-06-23T21:22:09.905Z] world/xorgproto 2024.1-2 1.46 MiB
[2024-06-23T21:22:09.905Z] world/meson-python 0.16.0-3 0.27 MiB
[2024-06-23T21:22:09.905Z] world-goblins/pybind11 2.12.0-6 0.89 MiB 0.18 MiB
[2024-06-23T21:22:09.905Z] world/python-build 1.2.1-3 0.19 MiB
[2024-06-23T21:22:09.905Z] world/python-installer 0.7.0-8 0.18 MiB
[2024-06-23T21:22:09.905Z] world/python-matplotlib 3.8.3-3 26.98 MiB
[2024-06-23T21:22:09.905Z] world/python-pytest 1:8.2.2-1 3.91 MiB
[2024-06-23T21:22:09.905Z] world/python-wurlitzer 3.1.1-1 0.07 MiB 0.02 MiB
[2024-06-23T21:22:09.905Z]
[2024-06-23T21:22:09.905Z] Total Download Size: 0.20 MiB
[2024-06-23T21:22:09.905Z] Total Installed Size: 112.08 MiB
[2024-06-23T21:22:09.905Z]
[2024-06-23T21:22:09.905Z] :: Proceed with installation? [Y/n]
[2024-06-23T21:22:09.905Z] :: Retrieving packages...
[2024-06-23T21:22:09.905Z] pybind11-2.12.0-6-any downloading...
[2024-06-23T21:22:09.905Z] python-wurlitzer-3.1.1-1-any downloading...
[2024-06-23T21:22:09.905Z] checking keyring...
[2024-06-23T21:22:09.905Z] checking package integrity...
[2024-06-23T21:22:11.766Z] loading package files...
[2024-06-23T21:22:11.766Z] checking for file conflicts...
[2024-06-23T21:22:11.766Z] :: Processing package changes...
[2024-06-23T21:22:11.766Z] installing ninja...
[2024-06-23T21:22:11.766Z] installing python-tqdm...
[2024-06-23T21:22:11.766Z] Optional dependencies for python-tqdm
[2024-06-23T21:22:11.766Z] python-requests: telegram
[2024-06-23T21:22:11.766Z] installing meson...
[2024-06-23T21:22:11.766Z] installing patchelf...
[2024-06-23T21:22:11.766Z] installing python-packaging...
[2024-06-23T21:22:11.766Z] installing python-pyproject-metadata...
[2024-06-23T21:22:11.766Z] installing meson-python...
[2024-06-23T21:22:11.766Z] Optional dependencies for meson-python
[2024-06-23T21:22:11.766Z] python-colorama: colored output
[2024-06-23T21:22:11.766Z] installing pybind11...
[2024-06-23T21:22:11.766Z] Optional dependencies for pybind11
[2024-06-23T21:22:11.766Z] python-setuptools: for python bindings
[2024-06-23T21:22:11.766Z] installing python-pyproject-hooks...
[2024-06-23T21:22:11.766Z] installing python-build...
[2024-06-23T21:22:11.766Z] Optional dependencies for python-build
[2024-06-23T21:22:11.766Z] python-pip: to use as the Python package installer (default)
[2024-06-23T21:22:11.766Z] python-uv: to use as the Python package installer
[2024-06-23T21:22:11.766Z] python-virtualenv: to use virtualenv for build isolation
[2024-06-23T21:22:11.766Z] installing python-installer...
[2024-06-23T21:22:11.766Z] installing libpng...
[2024-06-23T21:22:11.766Z] installing graphite...
[2024-06-23T21:22:11.766Z] Optional dependencies for graphite
[2024-06-23T21:22:11.766Z] graphite-docs: Documentation
[2024-06-23T21:22:11.766Z] installing harfbuzz...
[2024-06-23T21:22:11.766Z] Optional dependencies for harfbuzz
[2024-06-23T21:22:11.766Z] harfbuzz-utils: utilities
[2024-06-23T21:22:11.766Z] installing freetype2...
[2024-06-23T21:22:11.766Z] installing python-contourpy...
[2024-06-23T21:22:11.766Z] Optional dependencies for python-contourpy
[2024-06-23T21:22:11.766Z] python-matplotlib: matplotlib renderer [pending]
[2024-06-23T21:22:11.766Z] installing python-cycler...
[2024-06-23T21:22:11.766Z] installing python-six...
[2024-06-23T21:22:11.766Z] installing python-dateutil...
[2024-06-23T21:22:11.766Z] installing python-fonttools...
[2024-06-23T21:22:11.766Z] Optional dependencies for python-fonttools
[2024-06-23T21:22:11.766Z] python-brotli: to compress/decompress WOFF 2.0 web fonts
[2024-06-23T21:22:11.766Z] python-fs: to read/write UFO source files
[2024-06-23T21:22:11.766Z] python-lxml: faster backend for XML files reading/writing
[2024-06-23T21:22:11.766Z] python-lz4: for graphite type tables in ttLib/tables
[2024-06-23T21:22:11.766Z] python-matplotlib: for visualizing DesignSpaceDocument and resulting VariationModel [pending]
[2024-06-23T21:22:11.766Z] python-pyqt5: for drawing glyphs with Qt’s QPainterPath
[2024-06-23T21:22:11.766Z] python-reportlab: to drawing glyphs as PNG images
[2024-06-23T21:22:11.766Z] python-scipy: for finding wrong contour/component order between different masters
[2024-06-23T21:22:11.766Z] python-sympy: for symbolic font statistics analysis
[2024-06-23T21:22:11.766Z] python-uharfbuzz: to use the Harfbuzz Repacker for packing GSUB/GPOS tables
[2024-06-23T21:22:11.766Z] python-unicodedata2: for displaying the Unicode character names when dumping the cmap table with ttx
[2024-06-23T21:22:11.766Z] python-zopfli: faster backend fom WOFF 1.0 web fonts compression
[2024-06-23T21:22:11.766Z] installing python-kiwisolver...
[2024-06-23T21:22:12.017Z] installing jbigkit...
[2024-06-23T21:22:12.017Z] installing libjpeg-turbo...
[2024-06-23T21:22:12.017Z] Optional dependencies for libjpeg-turbo
[2024-06-23T21:22:12.017Z] java-runtime>11: for TurboJPEG Java wrapper
[2024-06-23T21:22:12.017Z] installing libtiff...
[2024-06-23T21:22:12.017Z] Optional dependencies for libtiff
[2024-06-23T21:22:12.017Z] freeglut: for using tiffgt
[2024-06-23T21:22:12.017Z] installing lcms2...
[2024-06-23T21:22:12.017Z] installing fribidi...
[2024-06-23T21:22:12.017Z] installing libraqm...
[2024-06-23T21:22:12.017Z] installing openjpeg2...
[2024-06-23T21:22:12.017Z] installing libimagequant...
[2024-06-23T21:22:12.017Z] installing xcb-proto...
[2024-06-23T21:22:12.017Z] installing xorgproto...
[2024-06-23T21:22:12.017Z] installing libxdmcp...
[2024-06-23T21:22:12.017Z] installing libxau...
[2024-06-23T21:22:12.017Z] installing libxcb...
[2024-06-23T21:22:12.017Z] installing python-pillow...
[2024-06-23T21:22:12.017Z] Optional dependencies for python-pillow
[2024-06-23T21:22:12.017Z] libwebp: for webp images
[2024-06-23T21:22:12.017Z] tk: for the ImageTK module
[2024-06-23T21:22:12.017Z] python-olefile: OLE2 file support
[2024-06-23T21:22:12.017Z] python-pyqt6: for the ImageQt module
[2024-06-23T21:22:12.017Z] installing python-pyparsing...
[2024-06-23T21:22:12.017Z] Optional dependencies for python-pyparsing
[2024-06-23T21:22:12.017Z] python-railroad-diagrams: for generating Railroad Diagrams
[2024-06-23T21:22:12.017Z] python-jinja: for generating Railroad Diagrams
[2024-06-23T21:22:12.017Z] installing qhull...
[2024-06-23T21:22:12.267Z] installing python-matplotlib...
[2024-06-23T21:22:12.267Z] Optional dependencies for python-matplotlib
[2024-06-23T21:22:12.267Z] tk: Tk{Agg,Cairo} backends
[2024-06-23T21:22:12.267Z] pyside6: alternative for Qt6{Agg,Cairo} backends
[2024-06-23T21:22:12.267Z] python-pyqt5: Qt5{Agg,Cairo} backends
[2024-06-23T21:22:12.267Z] python-pyqt6: Qt6{Agg,Cairo} backends
[2024-06-23T21:22:12.267Z] python-gobject: for GTK{3,4}{Agg,Cairo} backend
[2024-06-23T21:22:12.267Z] python-wxpython: WX{Agg,Cairo} backend
[2024-06-23T21:22:12.267Z] python-cairo: {GTK{3,4},Qt{5,6},Tk,WX}Cairo backends
[2024-06-23T21:22:12.267Z] python-cairocffi: alternative for Cairo backends
[2024-06-23T21:22:12.267Z] python-tornado: WebAgg backend
[2024-06-23T21:22:12.267Z] ffmpeg: for saving movies
[2024-06-23T21:22:12.267Z] imagemagick: for saving animated gifs
[2024-06-23T21:22:12.267Z] ghostscript: usetex dependencies
[2024-06-23T21:22:12.267Z] texlive-binextra: usetex dependencies
[2024-06-23T21:22:12.267Z] texlive-fontsrecommended: usetex dependencies
[2024-06-23T21:22:12.267Z] texlive-latexrecommended: usetex usage with pdflatex
[2024-06-23T21:22:12.267Z] python-certifi: https support
[2024-06-23T21:22:12.267Z] installing python-iniconfig...
[2024-06-23T21:22:12.267Z] installing python-pluggy...
[2024-06-23T21:22:12.267Z] installing python-pytest...
[2024-06-23T21:22:12.267Z] installing python-wurlitzer...
[2024-06-23T21:22:12.517Z] ==> Retrieving sources...
[2024-06-23T21:22:12.517Z] -> Found contourpy-1.2.1.tar.gz
[2024-06-23T21:22:12.517Z] ==> WARNING: Skipping all source file integrity checks.
[2024-06-23T21:22:12.517Z] ==> Extracting sources...
[2024-06-23T21:22:12.768Z] -> Extracting contourpy-1.2.1.tar.gz with bsdtar
[2024-06-23T21:22:12.768Z] ==> Starting prepare()...
[2024-06-23T21:22:12.768Z] ==> Starting build()...
[2024-06-23T21:22:13.018Z] * Getting build dependencies for wheel...
[2024-06-23T21:22:13.268Z] * Building wheel...
[2024-06-23T21:22:13.518Z] + meson setup /build/python-contourpy/src/contourpy-1.2.1 /build/python-contourpy/src/contourpy-1.2.1/.mesonpy-4gpk22ea -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --vsenv --native-file=/build/python-contourpy/src/contourpy-1.2.1/.mesonpy-4gpk22ea/meson-python-native-file.ini
[2024-06-23T21:22:14.429Z] The Meson build system
[2024-06-23T21:22:14.429Z] Version: 1.4.1
[2024-06-23T21:22:14.429Z] Source dir: /build/python-contourpy/src/contourpy-1.2.1
[2024-06-23T21:22:14.429Z] Build dir: /build/python-contourpy/src/contourpy-1.2.1/.mesonpy-4gpk22ea
[2024-06-23T21:22:14.429Z] Build type: native build
[2024-06-23T21:22:14.429Z] Project name: contourpy
[2024-06-23T21:22:14.429Z] Project version: 1.2.1
[2024-06-23T21:22:14.429Z] C++ compiler for the host machine: c++ (gcc 14.1.1 "c++ (GCC) 14.1.1 20240522")
[2024-06-23T21:22:14.429Z] C++ linker for the host machine: c++ ld.bfd 2.42.0
[2024-06-23T21:22:14.429Z] Host machine cpu family: x86_64
[2024-06-23T21:22:14.429Z] Host machine cpu: x86_64
[2024-06-23T21:22:14.429Z] Program python found: YES (/usr/bin/python)
[2024-06-23T21:22:14.429Z] Found pkg-config: YES (/usr/bin/pkg-config) 2.1.1
[2024-06-23T21:22:14.429Z] Run-time dependency pybind11 found: YES 2.12.0
[2024-06-23T21:22:14.429Z] Configuring _build_config.py using configuration
[2024-06-23T21:22:14.429Z] Run-time dependency python found: YES 3.12
[2024-06-23T21:22:14.429Z] Build targets in project: 1
[2024-06-23T21:22:14.429Z]
[2024-06-23T21:22:14.429Z] contourpy 1.2.1
[2024-06-23T21:22:14.429Z]
[2024-06-23T21:22:14.429Z] Build config
[2024-06-23T21:22:14.429Z] host_cpu : x86_64
[2024-06-23T21:22:14.429Z] build_cpu : x86_64
[2024-06-23T21:22:14.429Z] cross_build : false
[2024-06-23T21:22:14.429Z] optimization: 3
[2024-06-23T21:22:14.429Z]
[2024-06-23T21:22:14.429Z] User defined options
[2024-06-23T21:22:14.429Z] Native files: /build/python-contourpy/src/contourpy-1.2.1/.mesonpy-4gpk22ea/meson-python-native-file.ini
[2024-06-23T21:22:14.429Z] buildtype : release
[2024-06-23T21:22:14.429Z] vsenv : true
[2024-06-23T21:22:14.429Z] b_ndebug : if-release
[2024-06-23T21:22:14.429Z] b_vscrt : md
[2024-06-23T21:22:14.429Z]
[2024-06-23T21:22:14.429Z] Found ninja-1.12.1 at /usr/bin/ninja
[2024-06-23T21:22:14.429Z]
[2024-06-23T21:22:14.429Z] Visual Studio environment is needed to run Ninja. It is recommended to use Meson wrapper:
[2024-06-23T21:22:14.429Z] /usr/bin/meson compile -C .
[2024-06-23T21:22:14.429Z]
[2024-06-23T21:22:14.429Z] Generating targets: 0%| | 0/1 eta ?
[2024-06-23T21:22:14.429Z]
[2024-06-23T21:22:14.429Z]
[2024-06-23T21:22:14.429Z] Writing build.ninja: 0%| | 0/39 eta ?
[2024-06-23T21:22:14.680Z]
[2024-06-23T21:22:14.680Z] + /usr/bin/ninja -v
[2024-06-23T21:22:15.230Z] [1/14] c++ -Isrc/_contourpy.cpython-312-x86_64-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=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -fPIC -DCONTOURPY_VERSION=1.2.1 -MD -MQ src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/outer_or_hole.cpp.o -MF src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/outer_or_hole.cpp.o.d -o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/outer_or_hole.cpp.o -c ../src/outer_or_hole.cpp
[2024-06-23T21:22:15.230Z] [2/14] c++ -Isrc/_contourpy.cpython-312-x86_64-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=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -fPIC -DCONTOURPY_VERSION=1.2.1 -MD -MQ src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/fill_type.cpp.o -MF src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/fill_type.cpp.o.d -o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/fill_type.cpp.o -c ../src/fill_type.cpp
[2024-06-23T21:22:15.230Z] [3/14] c++ -Isrc/_contourpy.cpython-312-x86_64-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=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -fPIC -DCONTOURPY_VERSION=1.2.1 -MD -MQ src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/line_type.cpp.o -MF src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/line_type.cpp.o.d -o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/line_type.cpp.o -c ../src/line_type.cpp
[2024-06-23T21:22:15.230Z] [4/14] c++ -Isrc/_contourpy.cpython-312-x86_64-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=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -fPIC -DCONTOURPY_VERSION=1.2.1 -MD -MQ src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/z_interp.cpp.o -MF src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/z_interp.cpp.o.d -o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/z_interp.cpp.o -c ../src/z_interp.cpp
[2024-06-23T21:22:18.458Z] [5/14] c++ -Isrc/_contourpy.cpython-312-x86_64-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=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -fPIC -DCONTOURPY_VERSION=1.2.1 -MD -MQ src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/chunk_local.cpp.o -MF src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/chunk_local.cpp.o.d -o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/chunk_local.cpp.o -c ../src/chunk_local.cpp
[2024-06-23T21:22:18.458Z] [6/14] c++ -Isrc/_contourpy.cpython-312-x86_64-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=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -fPIC -DCONTOURPY_VERSION=1.2.1 -MD -MQ src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/util.cpp.o -MF src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/util.cpp.o.d -o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/util.cpp.o -c ../src/util.cpp
[2024-06-23T21:22:18.458Z] [7/14] c++ -Isrc/_contourpy.cpython-312-x86_64-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=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -fPIC -DCONTOURPY_VERSION=1.2.1 -MD -MQ src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/converter.cpp.o -MF src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/converter.cpp.o.d -o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/converter.cpp.o -c ../src/converter.cpp
[2024-06-23T21:22:18.458Z] [8/14] c++ -Isrc/_contourpy.cpython-312-x86_64-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=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -fPIC -DCONTOURPY_VERSION=1.2.1 -MD -MQ src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/mpl2005.cpp.o -MF src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/mpl2005.cpp.o.d -o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/mpl2005.cpp.o -c ../src/mpl2005.cpp
[2024-06-23T21:22:18.708Z] [9/14] c++ -Isrc/_contourpy.cpython-312-x86_64-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=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -fPIC -DCONTOURPY_VERSION=1.2.1 -MD -MQ src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/mpl2005_original.cpp.o -MF src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/mpl2005_original.cpp.o.d -o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/mpl2005_original.cpp.o -c ../src/mpl2005_original.cpp
[2024-06-23T21:22:18.958Z] [10/14] c++ -Isrc/_contourpy.cpython-312-x86_64-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=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -fPIC -DCONTOURPY_VERSION=1.2.1 -MD -MQ src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/serial.cpp.o -MF src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/serial.cpp.o.d -o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/serial.cpp.o -c ../src/serial.cpp
[2024-06-23T21:22:18.958Z] [11/14] c++ -Isrc/_contourpy.cpython-312-x86_64-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=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -fPIC -DCONTOURPY_VERSION=1.2.1 -MD -MQ src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/mpl2014.cpp.o -MF src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/mpl2014.cpp.o.d -o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/mpl2014.cpp.o -c ../src/mpl2014.cpp
[2024-06-23T21:22:18.958Z] [12/14] c++ -Isrc/_contourpy.cpython-312-x86_64-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=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -fPIC -DCONTOURPY_VERSION=1.2.1 -MD -MQ src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/threaded.cpp.o -MF src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/threaded.cpp.o.d -o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/threaded.cpp.o -c ../src/threaded.cpp
[2024-06-23T21:22:22.186Z] [13/14] c++ -Isrc/_contourpy.cpython-312-x86_64-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=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -fPIC -DCONTOURPY_VERSION=1.2.1 -MD -MQ src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/wrap.cpp.o -MF src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/wrap.cpp.o.d -o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/wrap.cpp.o -c ../src/wrap.cpp
[2024-06-23T21:22:25.414Z] [14/14] c++ -o src/_contourpy.cpython-312-x86_64-linux-gnu.so src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/chunk_local.cpp.o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/converter.cpp.o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/fill_type.cpp.o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/line_type.cpp.o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/mpl2005_original.cpp.o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/mpl2005.cpp.o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/mpl2014.cpp.o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/outer_or_hole.cpp.o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/serial.cpp.o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/threaded.cpp.o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/util.cpp.o src/_contourpy.cpython-312-x86_64-linux-gnu.so.p/wrap.cpp.o src/_contourpy.cpython-312-x86_64-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 -Wl,-z,pack-relative-relocs -flto=auto -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto
[2024-06-23T21:22:25.414Z] [1/20] /build/python-contourpy/src/contourpy-1.2.1/.mesonpy-4gpk22ea/src/_contourpy.cpython-312-x86_64-linux-gnu.so
[2024-06-23T21:22:25.414Z] [2/20] /build/python-contourpy/src/contourpy-1.2.1/lib/contourpy/__init__.py
[2024-06-23T21:22:25.414Z] [3/20] /build/python-contourpy/src/contourpy-1.2.1/lib/contourpy/_version.py
[2024-06-23T21:22:25.414Z] [4/20] /build/python-contourpy/src/contourpy-1.2.1/lib/contourpy/array.py
[2024-06-23T21:22:25.414Z] [5/20] /build/python-contourpy/src/contourpy-1.2.1/lib/contourpy/chunk.py
[2024-06-23T21:22:25.414Z] [6/20] /build/python-contourpy/src/contourpy-1.2.1/lib/contourpy/convert.py
[2024-06-23T21:22:25.414Z] [7/20] /build/python-contourpy/src/contourpy-1.2.1/lib/contourpy/dechunk.py
[2024-06-23T21:22:25.414Z] [8/20] /build/python-contourpy/src/contourpy-1.2.1/lib/contourpy/enum_util.py
[2024-06-23T21:22:25.414Z] [9/20] /build/python-contourpy/src/contourpy-1.2.1/lib/contourpy/typecheck.py
[2024-06-23T21:22:25.414Z] [10/20] /build/python-contourpy/src/contourpy-1.2.1/lib/contourpy/types.py
[2024-06-23T21:22:25.414Z] [11/20] /build/python-contourpy/src/contourpy-1.2.1/lib/contourpy/_contourpy.pyi
[2024-06-23T21:22:25.414Z] [12/20] /build/python-contourpy/src/contourpy-1.2.1/lib/contourpy/py.typed
[2024-06-23T21:22:25.414Z] [13/20] /build/python-contourpy/src/contourpy-1.2.1/lib/contourpy/util/__init__.py
[2024-06-23T21:22:25.414Z] [14/20] /build/python-contourpy/src/contourpy-1.2.1/lib/contourpy/util/bokeh_renderer.py
[2024-06-23T21:22:25.414Z] [15/20] /build/python-contourpy/src/contourpy-1.2.1/lib/contourpy/util/bokeh_util.py
[2024-06-23T21:22:25.414Z] [16/20] /build/python-contourpy/src/contourpy-1.2.1/lib/contourpy/util/data.py
[2024-06-23T21:22:25.414Z] [17/20] /build/python-contourpy/src/contourpy-1.2.1/lib/contourpy/util/mpl_renderer.py
[2024-06-23T21:22:25.414Z] [18/20] /build/python-contourpy/src/contourpy-1.2.1/lib/contourpy/util/mpl_util.py
[2024-06-23T21:22:25.414Z] [19/20] /build/python-contourpy/src/contourpy-1.2.1/lib/contourpy/util/renderer.py
[2024-06-23T21:22:25.414Z] [20/20] /build/python-contourpy/src/contourpy-1.2.1/.mesonpy-4gpk22ea/lib/contourpy/util/_build_config.py
[2024-06-23T21:22:25.414Z] Successfully built contourpy-1.2.1-cp312-cp312-linux_x86_64.whl
[2024-06-23T21:22:25.414Z] ==> Starting check()...
[2024-06-23T21:22:29.536Z] ============================= test session starts ==============================
[2024-06-23T21:22:29.536Z] platform linux -- Python 3.12.4, pytest-8.2.2, pluggy-1.5.0 -- /build/python-contourpy/src/contourpy-1.2.1/test-env/bin/python
[2024-06-23T21:22:29.536Z] cachedir: .pytest_cache
[2024-06-23T21:22:29.536Z] rootdir: /build/python-contourpy/src/contourpy-1.2.1
[2024-06-23T21:22:29.536Z] configfile: pyproject.toml
[2024-06-23T21:22:30.447Z] collecting ... collected 2308 items / 1 skipped
[2024-06-23T21:22:30.447Z]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_codes_from_offsets PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_codes_from_offsets_and_points PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_codes_from_points PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_concat_codes PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_concat_codes_or_none PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_concat_offsets PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_concat_offsets_or_none PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_concat_points PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_concat_points_or_none PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_concat_points_or_none_with_nan PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_concat_points_with_nan PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_insert_nan_at_offsets PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_offsets_from_codes PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_offsets_from_lengths PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_outer_offsets_from_list_of_codes PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_outer_offsets_from_list_of_offsets PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_remove_nan PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_split_codes_by_offsets PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_split_points_at_nan PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_array.py::test_split_points_by_offsets PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_build_config.py::test_build_config PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors[1-factors0] PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors[2-factors1] PASSED [ 0%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors[3-factors2] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors[4-factors3] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors[5-factors4] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors[6-factors5] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors[7-factors6] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors[8-factors7] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors[9-factors8] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors[10-factors9] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors[11-factors10] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors[12-factors11] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors[20-factors12] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors[24-factors13] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors[30-factors14] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors[99-factors15] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors[100-factors16] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors[101-factors17] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors_invalid[-1] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_two_factors_invalid[-9] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_size_1d[0] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_size_1d[1] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_size_1d[2] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_size_1d[3] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_size_1d[6] PASSED [ 1%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_size_1d[9] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_size_2d[0-1] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_size_2d[1-3] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_size_2d[4-2] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_count_1d[0-res0] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_count_1d[1-res1] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_count_1d[2-res2] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_count_1d[3-res3] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_count_1d[4-res4] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_count_1d[5-res5] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_count_1d[6-res6] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_count_2d[chunk_count0-res0] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_count_2d[chunk_count1-res1] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_count_2d[chunk_count2-res2] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_count_2d[chunk_count3-res3] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_chunk_count_2d[chunk_count4-res4] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_total_chunk_count[-1-res0] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_total_chunk_count[0-res1] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_total_chunk_count[1-res2] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_total_chunk_count[2-res3] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_total_chunk_count[3-res4] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_total_chunk_count[4-res5] PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_chunk.py::test_calc_chunk_sizes_invalid PASSED [ 2%]
[2024-06-23T21:22:30.447Z] tests/test_codebase.py::test_cppcheck SKIPPED [ 3%]
[2024-06-23T21:22:30.447Z] tests/test_codebase.py::test_mypy SKIPPED [ 3%]
[2024-06-23T21:22:30.447Z] tests/test_codebase.py::test_version PASSED [ 3%]
[2024-06-23T21:22:30.698Z] tests/test_config.py::test_config_filled[mpl2005-False] FAILED [ 3%]
[2024-06-23T21:22:30.698Z] tests/test_config.py::test_config_filled[mpl2005-True] SKIPPED (use ...) [ 3%]
[2024-06-23T21:22:30.948Z] tests/test_config.py::test_config_filled[mpl2014-False] FAILED [ 3%]
[2024-06-23T21:22:30.948Z] tests/test_config.py::test_config_filled[mpl2014-True] SKIPPED (use ...) [ 3%]
[2024-06-23T21:22:31.198Z] tests/test_config.py::test_config_filled[serial-False] FAILED [ 3%]
[2024-06-23T21:22:31.198Z] tests/test_config.py::test_config_filled[serial-True] SKIPPED (use -...) [ 3%]
[2024-06-23T21:22:31.198Z] tests/test_config.py::test_config_filled[threaded-False] FAILED [ 3%]
[2024-06-23T21:22:31.198Z] tests/test_config.py::test_config_filled[threaded-True] SKIPPED (use...) [ 3%]
[2024-06-23T21:22:31.448Z] tests/test_config.py::test_config_filled_quad_as_tri[serial-False] FAILED [ 3%]
[2024-06-23T21:22:31.448Z] tests/test_config.py::test_config_filled_quad_as_tri[serial-True] SKIPPED [ 3%]
[2024-06-23T21:22:31.699Z] tests/test_config.py::test_config_filled_quad_as_tri[threaded-False] FAILED [ 3%]
[2024-06-23T21:22:31.699Z] tests/test_config.py::test_config_filled_quad_as_tri[threaded-True] SKIPPED [ 3%]
[2024-06-23T21:22:31.699Z] tests/test_config.py::test_config_filled_corner[mpl2014-False] FAILED [ 3%]
[2024-06-23T21:22:31.699Z] tests/test_config.py::test_config_filled_corner[mpl2014-True] SKIPPED [ 3%]
[2024-06-23T21:22:31.949Z] tests/test_config.py::test_config_filled_corner[serial-False] FAILED [ 3%]
[2024-06-23T21:22:31.949Z] tests/test_config.py::test_config_filled_corner[serial-True] SKIPPED [ 3%]
[2024-06-23T21:22:32.199Z] tests/test_config.py::test_config_filled_corner[threaded-False] FAILED [ 3%]
[2024-06-23T21:22:32.199Z] tests/test_config.py::test_config_filled_corner[threaded-True] SKIPPED [ 3%]
[2024-06-23T21:22:32.449Z] tests/test_config.py::test_config_lines[mpl2005-False] FAILED [ 3%]
[2024-06-23T21:22:32.449Z] tests/test_config.py::test_config_lines[mpl2005-True] SKIPPED (use -...) [ 3%]
[2024-06-23T21:22:32.449Z] tests/test_config.py::test_config_lines[mpl2014-False] FAILED [ 4%]
[2024-06-23T21:22:32.449Z] tests/test_config.py::test_config_lines[mpl2014-True] SKIPPED (use -...) [ 4%]
[2024-06-23T21:22:32.700Z] tests/test_config.py::test_config_lines[serial-False] FAILED [ 4%]
[2024-06-23T21:22:32.700Z] tests/test_config.py::test_config_lines[serial-True] SKIPPED (use --...) [ 4%]
[2024-06-23T21:22:32.950Z] tests/test_config.py::test_config_lines[threaded-False] FAILED [ 4%]
[2024-06-23T21:22:32.950Z] tests/test_config.py::test_config_lines[threaded-True] SKIPPED (use ...) [ 4%]
[2024-06-23T21:22:32.950Z] tests/test_config.py::test_config_lines_quad_as_tri[serial-False] FAILED [ 4%]
[2024-06-23T21:22:32.950Z] tests/test_config.py::test_config_lines_quad_as_tri[serial-True] SKIPPED [ 4%]
[2024-06-23T21:22:33.200Z] tests/test_config.py::test_config_lines_quad_as_tri[threaded-False] FAILED [ 4%]
[2024-06-23T21:22:33.200Z] tests/test_config.py::test_config_lines_quad_as_tri[threaded-True] SKIPPED [ 4%]
[2024-06-23T21:22:33.450Z] tests/test_config.py::test_config_lines_corner[mpl2014-False] FAILED [ 4%]
[2024-06-23T21:22:33.450Z] tests/test_config.py::test_config_lines_corner[mpl2014-True] SKIPPED [ 4%]
[2024-06-23T21:22:33.701Z] tests/test_config.py::test_config_lines_corner[serial-False] FAILED [ 4%]
[2024-06-23T21:22:33.701Z] tests/test_config.py::test_config_lines_corner[serial-True] SKIPPED [ 4%]
[2024-06-23T21:22:33.701Z] tests/test_config.py::test_config_lines_corner[threaded-False] FAILED [ 4%]
[2024-06-23T21:22:33.701Z] tests/test_config.py::test_config_lines_corner[threaded-True] SKIPPED [ 4%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_ndim_z[z0-mpl2005] PASSED [ 4%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_ndim_z[z0-mpl2014] PASSED [ 4%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_ndim_z[z0-serial] PASSED [ 4%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_ndim_z[z0-threaded] PASSED [ 4%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_ndim_z[z1-mpl2005] PASSED [ 4%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_ndim_z[z1-mpl2014] PASSED [ 4%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_ndim_z[z1-serial] PASSED [ 4%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_ndim_z[z1-threaded] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_z_shape_too_small[all_xyz0-mpl2005] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_z_shape_too_small[all_xyz0-mpl2014] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_z_shape_too_small[all_xyz0-serial] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_z_shape_too_small[all_xyz0-threaded] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_z_shape_too_small[all_xyz1-mpl2005] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_z_shape_too_small[all_xyz1-mpl2014] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_z_shape_too_small[all_xyz1-serial] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_z_shape_too_small[all_xyz1-threaded] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_z_shape_too_small[all_xyz2-mpl2005] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_z_shape_too_small[all_xyz2-mpl2014] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_z_shape_too_small[all_xyz2-serial] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_z_shape_too_small[all_xyz2-threaded] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_diff_ndim_xy[None-mpl2005] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_diff_ndim_xy[None-mpl2014] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_diff_ndim_xy[None-serial] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_diff_ndim_xy[None-threaded] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_diff_ndim_xy[wrong_ndim1-mpl2005] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_diff_ndim_xy[wrong_ndim1-mpl2014] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_diff_ndim_xy[wrong_ndim1-serial] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_diff_ndim_xy[wrong_ndim1-threaded] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_diff_ndim_xy[wrong_ndim2-mpl2005] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_diff_ndim_xy[wrong_ndim2-mpl2014] PASSED [ 5%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_diff_ndim_xy[wrong_ndim2-serial] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_diff_ndim_xy[wrong_ndim2-threaded] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xy_None[mpl2005] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xy_None[mpl2014] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xy_None[serial] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xy_None[threaded] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xy_not_specified[mpl2005] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xy_not_specified[mpl2014] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xy_not_specified[serial] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xy_not_specified[threaded] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xy_1d[mpl2005] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xy_1d[mpl2014] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xy_1d[serial] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xy_1d[threaded] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xy_ndim_more_than_2[mpl2005] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xy_ndim_more_than_2[mpl2014] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xy_ndim_more_than_2[serial] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xy_ndim_more_than_2[threaded] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xyz_diff_shapes[diff_shape0-mpl2005] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xyz_diff_shapes[diff_shape0-mpl2014] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xyz_diff_shapes[diff_shape0-serial] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xyz_diff_shapes[diff_shape0-threaded] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xyz_diff_shapes[diff_shape1-mpl2005] PASSED [ 6%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xyz_diff_shapes[diff_shape1-mpl2014] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xyz_diff_shapes[diff_shape1-serial] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_xyz_diff_shapes[diff_shape1-threaded] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_corner_mask[mpl2014] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_corner_mask[serial] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_corner_mask[threaded] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_corner_mask_not_supported PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_negative[mpl2005] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_negative[mpl2014] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_negative[serial] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_negative[threaded] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size0-mpl2005] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size0-mpl2014] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size0-serial] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size0-threaded] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size1-mpl2005] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size1-mpl2014] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size1-serial] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size1-threaded] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size2-mpl2005] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size2-mpl2014] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size2-serial] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size2-threaded] PASSED [ 7%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size3-mpl2005] PASSED [ 8%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size3-mpl2014] PASSED [ 8%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size3-serial] PASSED [ 8%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size3-threaded] PASSED [ 8%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size4-mpl2005] PASSED [ 8%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size4-mpl2014] PASSED [ 8%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size4-serial] PASSED [ 8%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size4-threaded] PASSED [ 8%]
[2024-06-23T21:22:33.951Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size5-mpl2005] PASSED [ 8%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size5-mpl2014] PASSED [ 8%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size5-serial] PASSED [ 8%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size5-threaded] PASSED [ 8%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size6-mpl2005] PASSED [ 8%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size6-mpl2014] PASSED [ 8%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size6-serial] PASSED [ 8%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size6-threaded] PASSED [ 8%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size7-mpl2005] PASSED [ 8%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size7-mpl2014] PASSED [ 8%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size7-serial] PASSED [ 8%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size7-threaded] PASSED [ 8%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size8-mpl2005] PASSED [ 8%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size8-mpl2014] PASSED [ 8%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size8-serial] PASSED [ 8%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_1d[chunk_size8-threaded] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size0-mpl2005] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size0-mpl2014] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size0-serial] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size0-threaded] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size1-mpl2005] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size1-mpl2014] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size1-serial] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size1-threaded] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size2-mpl2005] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size2-mpl2014] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size2-serial] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size2-threaded] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size3-mpl2005] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size3-mpl2014] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size3-serial] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size3-threaded] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size4-mpl2005] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size4-mpl2014] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size4-serial] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size4-threaded] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size5-mpl2005] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size5-mpl2014] PASSED [ 9%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size5-serial] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size5-threaded] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size6-mpl2005] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size6-mpl2014] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size6-serial] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size6-threaded] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size7-mpl2005] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size7-mpl2014] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size7-serial] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size7-threaded] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size8-mpl2005] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size8-mpl2014] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size8-serial] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size0-x_chunk_size8-threaded] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size0-mpl2005] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size0-mpl2014] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size0-serial] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size0-threaded] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size1-mpl2005] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size1-mpl2014] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size1-serial] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size1-threaded] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size2-mpl2005] PASSED [ 10%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size2-mpl2014] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size2-serial] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size2-threaded] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size3-mpl2005] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size3-mpl2014] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size3-serial] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size3-threaded] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size4-mpl2005] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size4-mpl2014] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size4-serial] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size4-threaded] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size5-mpl2005] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size5-mpl2014] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size5-serial] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size5-threaded] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size6-mpl2005] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size6-mpl2014] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size6-serial] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size6-threaded] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size7-mpl2005] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size7-mpl2014] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size7-serial] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size7-threaded] PASSED [ 11%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size8-mpl2005] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size8-mpl2014] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size8-serial] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size1-x_chunk_size8-threaded] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size0-mpl2005] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size0-mpl2014] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size0-serial] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size0-threaded] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size1-mpl2005] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size1-mpl2014] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size1-serial] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size1-threaded] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size2-mpl2005] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size2-mpl2014] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size2-serial] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size2-threaded] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size3-mpl2005] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size3-mpl2014] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size3-serial] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size3-threaded] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size4-mpl2005] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size4-mpl2014] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size4-serial] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size4-threaded] PASSED [ 12%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size5-mpl2005] PASSED [ 13%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size5-mpl2014] PASSED [ 13%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size5-serial] PASSED [ 13%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size5-threaded] PASSED [ 13%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size6-mpl2005] PASSED [ 13%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size6-mpl2014] PASSED [ 13%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size6-serial] PASSED [ 13%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size6-threaded] PASSED [ 13%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size7-mpl2005] PASSED [ 13%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size7-mpl2014] PASSED [ 13%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size7-serial] PASSED [ 13%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size7-threaded] PASSED [ 13%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size8-mpl2005] PASSED [ 13%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size8-mpl2014] PASSED [ 13%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size8-serial] PASSED [ 13%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size2-x_chunk_size8-threaded] PASSED [ 13%]
[2024-06-23T21:22:33.952Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size0-mpl2005] PASSED [ 13%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size0-mpl2014] PASSED [ 13%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size0-serial] PASSED [ 13%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size0-threaded] PASSED [ 13%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size1-mpl2005] PASSED [ 13%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size1-mpl2014] PASSED [ 13%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size1-serial] PASSED [ 13%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size1-threaded] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size2-mpl2005] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size2-mpl2014] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size2-serial] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size2-threaded] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size3-mpl2005] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size3-mpl2014] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size3-serial] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size3-threaded] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size4-mpl2005] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size4-mpl2014] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size4-serial] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size4-threaded] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size5-mpl2005] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size5-mpl2014] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size5-serial] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size5-threaded] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size6-mpl2005] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size6-mpl2014] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size6-serial] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size6-threaded] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size7-mpl2005] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size7-mpl2014] PASSED [ 14%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size7-serial] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size7-threaded] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size8-mpl2005] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size8-mpl2014] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size8-serial] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size3-x_chunk_size8-threaded] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size0-mpl2005] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size0-mpl2014] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size0-serial] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size0-threaded] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size1-mpl2005] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size1-mpl2014] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size1-serial] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size1-threaded] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size2-mpl2005] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size2-mpl2014] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size2-serial] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size2-threaded] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size3-mpl2005] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size3-mpl2014] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size3-serial] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size3-threaded] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size4-mpl2005] PASSED [ 15%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size4-mpl2014] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size4-serial] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size4-threaded] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size5-mpl2005] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size5-mpl2014] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size5-serial] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size5-threaded] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size6-mpl2005] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size6-mpl2014] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size6-serial] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size6-threaded] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size7-mpl2005] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size7-mpl2014] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size7-serial] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size7-threaded] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size8-mpl2005] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size8-mpl2014] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size8-serial] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size4-x_chunk_size8-threaded] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size0-mpl2005] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size0-mpl2014] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size0-serial] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size0-threaded] PASSED [ 16%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size1-mpl2005] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size1-mpl2014] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size1-serial] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size1-threaded] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size2-mpl2005] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size2-mpl2014] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size2-serial] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size2-threaded] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size3-mpl2005] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size3-mpl2014] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size3-serial] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size3-threaded] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size4-mpl2005] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size4-mpl2014] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size4-serial] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size4-threaded] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size5-mpl2005] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size5-mpl2014] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size5-serial] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size5-threaded] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size6-mpl2005] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size6-mpl2014] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size6-serial] PASSED [ 17%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size6-threaded] PASSED [ 18%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size7-mpl2005] PASSED [ 18%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size7-mpl2014] PASSED [ 18%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size7-serial] PASSED [ 18%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size7-threaded] PASSED [ 18%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size8-mpl2005] PASSED [ 18%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size8-mpl2014] PASSED [ 18%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size8-serial] PASSED [ 18%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size5-x_chunk_size8-threaded] PASSED [ 18%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size0-mpl2005] PASSED [ 18%]
[2024-06-23T21:22:34.203Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size0-mpl2014] PASSED [ 18%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size0-serial] PASSED [ 18%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size0-threaded] PASSED [ 18%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size1-mpl2005] PASSED [ 18%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size1-mpl2014] PASSED [ 18%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size1-serial] PASSED [ 18%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size1-threaded] PASSED [ 18%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size2-mpl2005] PASSED [ 18%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size2-mpl2014] PASSED [ 18%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size2-serial] PASSED [ 18%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size2-threaded] PASSED [ 18%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size3-mpl2005] PASSED [ 18%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size3-mpl2014] PASSED [ 18%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size3-serial] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size3-threaded] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size4-mpl2005] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size4-mpl2014] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size4-serial] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size4-threaded] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size5-mpl2005] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size5-mpl2014] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size5-serial] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size5-threaded] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size6-mpl2005] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size6-mpl2014] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size6-serial] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size6-threaded] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size7-mpl2005] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size7-mpl2014] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size7-serial] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size7-threaded] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size8-mpl2005] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size8-mpl2014] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size8-serial] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size6-x_chunk_size8-threaded] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size0-mpl2005] PASSED [ 19%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size0-mpl2014] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size0-serial] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size0-threaded] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size1-mpl2005] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size1-mpl2014] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size1-serial] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size1-threaded] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size2-mpl2005] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size2-mpl2014] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size2-serial] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size2-threaded] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size3-mpl2005] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size3-mpl2014] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size3-serial] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size3-threaded] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size4-mpl2005] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size4-mpl2014] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size4-serial] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size4-threaded] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size5-mpl2005] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size5-mpl2014] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size5-serial] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size5-threaded] PASSED [ 20%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size6-mpl2005] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size6-mpl2014] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size6-serial] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size6-threaded] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size7-mpl2005] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size7-mpl2014] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size7-serial] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size7-threaded] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size8-mpl2005] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size8-mpl2014] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size8-serial] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size7-x_chunk_size8-threaded] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size0-mpl2005] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size0-mpl2014] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size0-serial] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size0-threaded] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size1-mpl2005] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size1-mpl2014] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size1-serial] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size1-threaded] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size2-mpl2005] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size2-mpl2014] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size2-serial] PASSED [ 21%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size2-threaded] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size3-mpl2005] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size3-mpl2014] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size3-serial] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size3-threaded] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size4-mpl2005] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size4-mpl2014] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size4-serial] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size4-threaded] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size5-mpl2005] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size5-mpl2014] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size5-serial] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size5-threaded] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size6-mpl2005] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size6-mpl2014] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size6-serial] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size6-threaded] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size7-mpl2005] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size7-mpl2014] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size7-serial] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size7-threaded] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size8-mpl2005] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size8-mpl2014] PASSED [ 22%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size8-serial] PASSED [ 23%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_2d[y_chunk_size8-x_chunk_size8-threaded] PASSED [ 23%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_size_and_count PASSED [ 23%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_count_1d[0-ret_chunk_count0-mpl2005] PASSED [ 23%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_count_1d[0-ret_chunk_count0-mpl2014] PASSED [ 23%]
[2024-06-23T21:22:34.204Z] tests/test_constructor.py::test_chunk_count_1d[0-ret_chunk_count0-serial] PASSED [ 23%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[0-ret_chunk_count0-threaded] PASSED [ 23%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[1-ret_chunk_count1-mpl2005] PASSED [ 23%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[1-ret_chunk_count1-mpl2014] PASSED [ 23%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[1-ret_chunk_count1-serial] PASSED [ 23%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[1-ret_chunk_count1-threaded] PASSED [ 23%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[2-ret_chunk_count2-mpl2005] PASSED [ 23%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[2-ret_chunk_count2-mpl2014] PASSED [ 23%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[2-ret_chunk_count2-serial] PASSED [ 23%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[2-ret_chunk_count2-threaded] PASSED [ 23%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[3-ret_chunk_count3-mpl2005] PASSED [ 23%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[3-ret_chunk_count3-mpl2014] PASSED [ 23%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[3-ret_chunk_count3-serial] PASSED [ 23%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[3-ret_chunk_count3-threaded] PASSED [ 23%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[4-ret_chunk_count4-mpl2005] PASSED [ 23%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[4-ret_chunk_count4-mpl2014] PASSED [ 23%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[4-ret_chunk_count4-serial] PASSED [ 23%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[4-ret_chunk_count4-threaded] PASSED [ 23%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[9-ret_chunk_count5-mpl2005] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[9-ret_chunk_count5-mpl2014] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[9-ret_chunk_count5-serial] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_1d[9-ret_chunk_count5-threaded] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count0-ret_chunk_count0-mpl2005] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count0-ret_chunk_count0-mpl2014] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count0-ret_chunk_count0-serial] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count0-ret_chunk_count0-threaded] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count1-ret_chunk_count1-mpl2005] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count1-ret_chunk_count1-mpl2014] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count1-ret_chunk_count1-serial] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count1-ret_chunk_count1-threaded] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count2-ret_chunk_count2-mpl2005] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count2-ret_chunk_count2-mpl2014] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count2-ret_chunk_count2-serial] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count2-ret_chunk_count2-threaded] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count3-ret_chunk_count3-mpl2005] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count3-ret_chunk_count3-mpl2014] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count3-ret_chunk_count3-serial] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count3-ret_chunk_count3-threaded] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count4-ret_chunk_count4-mpl2005] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count4-ret_chunk_count4-mpl2014] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count4-ret_chunk_count4-serial] PASSED [ 24%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count4-ret_chunk_count4-threaded] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count5-ret_chunk_count5-mpl2005] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count5-ret_chunk_count5-mpl2014] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count5-ret_chunk_count5-serial] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_chunk_count_2d[chunk_count5-ret_chunk_count5-threaded] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[0-ret_chunk_count0-mpl2005] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[0-ret_chunk_count0-mpl2014] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[0-ret_chunk_count0-serial] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[0-ret_chunk_count0-threaded] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[1-ret_chunk_count1-mpl2005] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[1-ret_chunk_count1-mpl2014] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[1-ret_chunk_count1-serial] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[1-ret_chunk_count1-threaded] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[2-ret_chunk_count2-mpl2005] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[2-ret_chunk_count2-mpl2014] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[2-ret_chunk_count2-serial] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[2-ret_chunk_count2-threaded] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[3-ret_chunk_count3-mpl2005] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[3-ret_chunk_count3-mpl2014] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[3-ret_chunk_count3-serial] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[3-ret_chunk_count3-threaded] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[4-ret_chunk_count4-mpl2005] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[4-ret_chunk_count4-mpl2014] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[4-ret_chunk_count4-serial] PASSED [ 25%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[4-ret_chunk_count4-threaded] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[6-ret_chunk_count5-mpl2005] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[6-ret_chunk_count5-mpl2014] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[6-ret_chunk_count5-serial] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[6-ret_chunk_count5-threaded] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[9-ret_chunk_count6-mpl2005] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[9-ret_chunk_count6-mpl2014] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[9-ret_chunk_count6-serial] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[9-ret_chunk_count6-threaded] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[25-ret_chunk_count7-mpl2005] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[25-ret_chunk_count7-mpl2014] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[25-ret_chunk_count7-serial] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_total_chunk_count[25-ret_chunk_count7-threaded] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_name_invalid PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_line_type_not_supported[Separate-mpl2005] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_line_type_not_supported[Separate-mpl2014] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_line_type_not_supported[ChunkCombinedCode-mpl2005] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_line_type_not_supported[ChunkCombinedCode-mpl2014] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_line_type_not_supported[ChunkCombinedOffset-mpl2005] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_line_type_not_supported[ChunkCombinedOffset-mpl2014] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_fill_type_not_supported[OuterOffset-mpl2005] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_fill_type_not_supported[OuterOffset-mpl2014] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_fill_type_not_supported[ChunkCombinedCode-mpl2005] PASSED [ 26%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_fill_type_not_supported[ChunkCombinedCode-mpl2014] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_fill_type_not_supported[ChunkCombinedOffset-mpl2005] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_fill_type_not_supported[ChunkCombinedOffset-mpl2014] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_fill_type_not_supported[ChunkCombinedCodeOffset-mpl2005] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_fill_type_not_supported[ChunkCombinedCodeOffset-mpl2014] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_fill_type_not_supported[ChunkCombinedOffsetOffset-mpl2005] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_fill_type_not_supported[ChunkCombinedOffsetOffset-mpl2014] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_properties[mpl2005] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_properties[mpl2014] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_properties[serial] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_properties[threaded] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_quad_as_tri[serial] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_quad_as_tri[threaded] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_quad_as_tri_not_supported PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_thread_count[0-0] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_thread_count[0-1] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_thread_count[0-2] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_thread_count[1-0] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_thread_count[1-1] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_thread_count[1-2] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_thread_count[2-0] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_thread_count[2-1] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_thread_count[2-2] PASSED [ 27%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_thread_count_not_supported[mpl2005] PASSED [ 28%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_thread_count_not_supported[mpl2014] PASSED [ 28%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_thread_count_not_supported[serial] PASSED [ 28%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_enums_as_strings PASSED [ 28%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_is_contour_generator[mpl2005] PASSED [ 28%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_is_contour_generator[mpl2014] PASSED [ 28%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_is_contour_generator[serial] PASSED [ 28%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_is_contour_generator[threaded] PASSED [ 28%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_z_interp_none_to_linear[mpl2005] PASSED [ 28%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_z_interp_none_to_linear[mpl2014] PASSED [ 28%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_z_interp_none_to_linear[serial] PASSED [ 28%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_z_interp_none_to_linear[threaded] PASSED [ 28%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_z_interp_not_supported[mpl2005] PASSED [ 28%]
[2024-06-23T21:22:34.455Z] tests/test_constructor.py::test_z_interp_not_supported[mpl2014] PASSED [ 28%]
[2024-06-23T21:22:34.455Z] tests/test_convert.py::test_convert_filled[False-0-OuterCode-OuterCode] PASSED [ 28%]
[2024-06-23T21:22:34.455Z] tests/test_convert.py::test_convert_filled[False-0-OuterCode-OuterOffset] PASSED [ 28%]
[2024-06-23T21:22:34.455Z] tests/test_convert.py::test_convert_filled[False-0-OuterCode-ChunkCombinedCode] PASSED [ 28%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-OuterCode-ChunkCombinedOffset] PASSED [ 28%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-OuterCode-ChunkCombinedCodeOffset] PASSED [ 28%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-OuterCode-ChunkCombinedOffsetOffset] PASSED [ 28%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-OuterOffset-OuterCode] PASSED [ 28%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-OuterOffset-OuterOffset] PASSED [ 28%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-OuterOffset-ChunkCombinedCode] PASSED [ 28%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-OuterOffset-ChunkCombinedOffset] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-OuterOffset-ChunkCombinedCodeOffset] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-OuterOffset-ChunkCombinedOffsetOffset] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCode-OuterCode] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCode-OuterOffset] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCode-ChunkCombinedCodeOffset] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCode-ChunkCombinedOffsetOffset] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffset-OuterCode] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffset-OuterOffset] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffset-ChunkCombinedCodeOffset] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffset-ChunkCombinedOffsetOffset] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCodeOffset-OuterCode] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCodeOffset-OuterOffset] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCodeOffset-ChunkCombinedCode] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCodeOffset-ChunkCombinedOffset] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCodeOffset-ChunkCombinedCodeOffset] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedCodeOffset-ChunkCombinedOffsetOffset] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffsetOffset-OuterCode] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffsetOffset-OuterOffset] PASSED [ 29%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffsetOffset-ChunkCombinedCode] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffsetOffset-ChunkCombinedOffset] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffsetOffset-ChunkCombinedCodeOffset] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-0-ChunkCombinedOffsetOffset-ChunkCombinedOffsetOffset] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-OuterCode-OuterCode] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-OuterCode-OuterOffset] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-OuterCode-ChunkCombinedCode] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-OuterCode-ChunkCombinedOffset] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-OuterCode-ChunkCombinedCodeOffset] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-OuterCode-ChunkCombinedOffsetOffset] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-OuterOffset-OuterCode] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-OuterOffset-OuterOffset] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-OuterOffset-ChunkCombinedCode] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-OuterOffset-ChunkCombinedOffset] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-OuterOffset-ChunkCombinedCodeOffset] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-OuterOffset-ChunkCombinedOffsetOffset] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCode-OuterCode] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCode-OuterOffset] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCode-ChunkCombinedCodeOffset] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCode-ChunkCombinedOffsetOffset] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffset-OuterCode] PASSED [ 30%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffset-OuterOffset] PASSED [ 31%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 31%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 31%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffset-ChunkCombinedCodeOffset] PASSED [ 31%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffset-ChunkCombinedOffsetOffset] PASSED [ 31%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCodeOffset-OuterCode] PASSED [ 31%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCodeOffset-OuterOffset] PASSED [ 31%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCodeOffset-ChunkCombinedCode] PASSED [ 31%]
[2024-06-23T21:22:34.456Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCodeOffset-ChunkCombinedOffset] PASSED [ 31%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCodeOffset-ChunkCombinedCodeOffset] PASSED [ 31%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedCodeOffset-ChunkCombinedOffsetOffset] PASSED [ 31%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffsetOffset-OuterCode] PASSED [ 31%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffsetOffset-OuterOffset] PASSED [ 31%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffsetOffset-ChunkCombinedCode] PASSED [ 31%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffsetOffset-ChunkCombinedOffset] PASSED [ 31%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffsetOffset-ChunkCombinedCodeOffset] PASSED [ 31%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-2-ChunkCombinedOffsetOffset-ChunkCombinedOffsetOffset] PASSED [ 31%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-OuterCode-OuterCode] PASSED [ 31%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-OuterCode-OuterOffset] PASSED [ 31%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-OuterCode-ChunkCombinedCode] PASSED [ 31%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-OuterCode-ChunkCombinedOffset] PASSED [ 31%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-OuterCode-ChunkCombinedCodeOffset] PASSED [ 31%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-OuterCode-ChunkCombinedOffsetOffset] PASSED [ 31%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-OuterOffset-OuterCode] PASSED [ 32%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-OuterOffset-OuterOffset] PASSED [ 32%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-OuterOffset-ChunkCombinedCode] PASSED [ 32%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-OuterOffset-ChunkCombinedOffset] PASSED [ 32%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-OuterOffset-ChunkCombinedCodeOffset] PASSED [ 32%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-OuterOffset-ChunkCombinedOffsetOffset] PASSED [ 32%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCode-OuterCode] PASSED [ 32%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCode-OuterOffset] PASSED [ 32%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 32%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 32%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCode-ChunkCombinedCodeOffset] PASSED [ 32%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCode-ChunkCombinedOffsetOffset] PASSED [ 32%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffset-OuterCode] PASSED [ 32%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffset-OuterOffset] PASSED [ 32%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 32%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 32%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffset-ChunkCombinedCodeOffset] PASSED [ 32%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffset-ChunkCombinedOffsetOffset] PASSED [ 32%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCodeOffset-OuterCode] PASSED [ 32%]
[2024-06-23T21:22:34.706Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCodeOffset-OuterOffset] PASSED [ 32%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCodeOffset-ChunkCombinedCode] PASSED [ 32%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCodeOffset-ChunkCombinedOffset] PASSED [ 32%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCodeOffset-ChunkCombinedCodeOffset] PASSED [ 32%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedCodeOffset-ChunkCombinedOffsetOffset] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffsetOffset-OuterCode] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffsetOffset-OuterOffset] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffsetOffset-ChunkCombinedCode] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffsetOffset-ChunkCombinedOffset] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffsetOffset-ChunkCombinedCodeOffset] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[False-3-ChunkCombinedOffsetOffset-ChunkCombinedOffsetOffset] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-OuterCode-OuterCode] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-OuterCode-OuterOffset] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-OuterCode-ChunkCombinedCode] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-OuterCode-ChunkCombinedOffset] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-OuterCode-ChunkCombinedCodeOffset] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-OuterCode-ChunkCombinedOffsetOffset] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-OuterOffset-OuterCode] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-OuterOffset-OuterOffset] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-OuterOffset-ChunkCombinedCode] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-OuterOffset-ChunkCombinedOffset] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-OuterOffset-ChunkCombinedCodeOffset] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-OuterOffset-ChunkCombinedOffsetOffset] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCode-OuterCode] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCode-OuterOffset] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 33%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCode-ChunkCombinedCodeOffset] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCode-ChunkCombinedOffsetOffset] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffset-OuterCode] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffset-OuterOffset] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffset-ChunkCombinedCodeOffset] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffset-ChunkCombinedOffsetOffset] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCodeOffset-OuterCode] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCodeOffset-OuterOffset] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCodeOffset-ChunkCombinedCode] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCodeOffset-ChunkCombinedOffset] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCodeOffset-ChunkCombinedCodeOffset] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedCodeOffset-ChunkCombinedOffsetOffset] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffsetOffset-OuterCode] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffsetOffset-OuterOffset] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffsetOffset-ChunkCombinedCode] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffsetOffset-ChunkCombinedOffset] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffsetOffset-ChunkCombinedCodeOffset] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-0-ChunkCombinedOffsetOffset-ChunkCombinedOffsetOffset] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-OuterCode-OuterCode] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-OuterCode-OuterOffset] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-OuterCode-ChunkCombinedCode] PASSED [ 34%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-OuterCode-ChunkCombinedOffset] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-OuterCode-ChunkCombinedCodeOffset] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-OuterCode-ChunkCombinedOffsetOffset] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-OuterOffset-OuterCode] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-OuterOffset-OuterOffset] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-OuterOffset-ChunkCombinedCode] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-OuterOffset-ChunkCombinedOffset] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-OuterOffset-ChunkCombinedCodeOffset] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-OuterOffset-ChunkCombinedOffsetOffset] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCode-OuterCode] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCode-OuterOffset] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCode-ChunkCombinedCodeOffset] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCode-ChunkCombinedOffsetOffset] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffset-OuterCode] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffset-OuterOffset] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffset-ChunkCombinedCodeOffset] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffset-ChunkCombinedOffsetOffset] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCodeOffset-OuterCode] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCodeOffset-OuterOffset] PASSED [ 35%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCodeOffset-ChunkCombinedCode] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCodeOffset-ChunkCombinedOffset] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCodeOffset-ChunkCombinedCodeOffset] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedCodeOffset-ChunkCombinedOffsetOffset] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffsetOffset-OuterCode] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffsetOffset-OuterOffset] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffsetOffset-ChunkCombinedCode] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffsetOffset-ChunkCombinedOffset] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffsetOffset-ChunkCombinedCodeOffset] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-2-ChunkCombinedOffsetOffset-ChunkCombinedOffsetOffset] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-OuterCode-OuterCode] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-OuterCode-OuterOffset] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-OuterCode-ChunkCombinedCode] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-OuterCode-ChunkCombinedOffset] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-OuterCode-ChunkCombinedCodeOffset] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-OuterCode-ChunkCombinedOffsetOffset] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-OuterOffset-OuterCode] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-OuterOffset-OuterOffset] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-OuterOffset-ChunkCombinedCode] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-OuterOffset-ChunkCombinedOffset] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-OuterOffset-ChunkCombinedCodeOffset] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-OuterOffset-ChunkCombinedOffsetOffset] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCode-OuterCode] PASSED [ 36%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCode-OuterOffset] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCode-ChunkCombinedCodeOffset] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCode-ChunkCombinedOffsetOffset] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffset-OuterCode] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffset-OuterOffset] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffset-ChunkCombinedCodeOffset] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffset-ChunkCombinedOffsetOffset] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCodeOffset-OuterCode] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCodeOffset-OuterOffset] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCodeOffset-ChunkCombinedCode] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCodeOffset-ChunkCombinedOffset] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCodeOffset-ChunkCombinedCodeOffset] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedCodeOffset-ChunkCombinedOffsetOffset] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffsetOffset-OuterCode] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffsetOffset-OuterOffset] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffsetOffset-ChunkCombinedCode] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffsetOffset-ChunkCombinedOffset] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffsetOffset-ChunkCombinedCodeOffset] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_filled[True-3-ChunkCombinedOffsetOffset-ChunkCombinedOffsetOffset] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_lines[False-0-Separate-Separate] PASSED [ 37%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_lines[False-0-Separate-SeparateCode] PASSED [ 38%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_lines[False-0-Separate-ChunkCombinedCode] PASSED [ 38%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_lines[False-0-Separate-ChunkCombinedOffset] PASSED [ 38%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_lines[False-0-Separate-ChunkCombinedNan] PASSED [ 38%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_lines[False-0-SeparateCode-Separate] PASSED [ 38%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_lines[False-0-SeparateCode-SeparateCode] PASSED [ 38%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_lines[False-0-SeparateCode-ChunkCombinedCode] PASSED [ 38%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_lines[False-0-SeparateCode-ChunkCombinedOffset] PASSED [ 38%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_lines[False-0-SeparateCode-ChunkCombinedNan] PASSED [ 38%]
[2024-06-23T21:22:34.707Z] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedCode-Separate] PASSED [ 38%]
[2024-06-23T21:22:34.708Z] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedCode-SeparateCode] PASSED [ 38%]
[2024-06-23T21:22:34.708Z] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 38%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 38%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedCode-ChunkCombinedNan] PASSED [ 38%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedOffset-Separate] PASSED [ 38%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedOffset-SeparateCode] PASSED [ 38%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 38%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 38%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedOffset-ChunkCombinedNan] PASSED [ 38%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedNan-Separate] PASSED [ 38%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedNan-SeparateCode] PASSED [ 38%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedNan-ChunkCombinedCode] PASSED [ 38%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedNan-ChunkCombinedOffset] PASSED [ 38%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-0-ChunkCombinedNan-ChunkCombinedNan] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-Separate-Separate] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-Separate-SeparateCode] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-Separate-ChunkCombinedCode] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-Separate-ChunkCombinedOffset] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-Separate-ChunkCombinedNan] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-SeparateCode-Separate] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-SeparateCode-SeparateCode] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-SeparateCode-ChunkCombinedCode] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-SeparateCode-ChunkCombinedOffset] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-SeparateCode-ChunkCombinedNan] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedCode-Separate] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedCode-SeparateCode] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedCode-ChunkCombinedNan] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedOffset-Separate] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedOffset-SeparateCode] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedOffset-ChunkCombinedNan] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedNan-Separate] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedNan-SeparateCode] PASSED [ 39%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedNan-ChunkCombinedCode] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedNan-ChunkCombinedOffset] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-2-ChunkCombinedNan-ChunkCombinedNan] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-Separate-Separate] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-Separate-SeparateCode] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-Separate-ChunkCombinedCode] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-Separate-ChunkCombinedOffset] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-Separate-ChunkCombinedNan] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-SeparateCode-Separate] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-SeparateCode-SeparateCode] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-SeparateCode-ChunkCombinedCode] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-SeparateCode-ChunkCombinedOffset] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-SeparateCode-ChunkCombinedNan] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedCode-Separate] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedCode-SeparateCode] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedCode-ChunkCombinedNan] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedOffset-Separate] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedOffset-SeparateCode] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedOffset-ChunkCombinedNan] PASSED [ 40%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedNan-Separate] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedNan-SeparateCode] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedNan-ChunkCombinedCode] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedNan-ChunkCombinedOffset] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[False-3-ChunkCombinedNan-ChunkCombinedNan] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-Separate-Separate] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-Separate-SeparateCode] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-Separate-ChunkCombinedCode] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-Separate-ChunkCombinedOffset] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-Separate-ChunkCombinedNan] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-SeparateCode-Separate] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-SeparateCode-SeparateCode] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-SeparateCode-ChunkCombinedCode] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-SeparateCode-ChunkCombinedOffset] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-SeparateCode-ChunkCombinedNan] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedCode-Separate] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedCode-SeparateCode] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedCode-ChunkCombinedNan] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedOffset-Separate] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedOffset-SeparateCode] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 41%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 42%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedOffset-ChunkCombinedNan] PASSED [ 42%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedNan-Separate] PASSED [ 42%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedNan-SeparateCode] PASSED [ 42%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedNan-ChunkCombinedCode] PASSED [ 42%]
[2024-06-23T21:22:34.958Z] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedNan-ChunkCombinedOffset] PASSED [ 42%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-0-ChunkCombinedNan-ChunkCombinedNan] PASSED [ 42%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-Separate-Separate] PASSED [ 42%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-Separate-SeparateCode] PASSED [ 42%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-Separate-ChunkCombinedCode] PASSED [ 42%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-Separate-ChunkCombinedOffset] PASSED [ 42%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-Separate-ChunkCombinedNan] PASSED [ 42%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-SeparateCode-Separate] PASSED [ 42%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-SeparateCode-SeparateCode] PASSED [ 42%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-SeparateCode-ChunkCombinedCode] PASSED [ 42%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-SeparateCode-ChunkCombinedOffset] PASSED [ 42%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-SeparateCode-ChunkCombinedNan] PASSED [ 42%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedCode-Separate] PASSED [ 42%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedCode-SeparateCode] PASSED [ 42%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 42%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 42%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedCode-ChunkCombinedNan] PASSED [ 42%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedOffset-Separate] PASSED [ 42%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedOffset-SeparateCode] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedOffset-ChunkCombinedNan] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedNan-Separate] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedNan-SeparateCode] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedNan-ChunkCombinedCode] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedNan-ChunkCombinedOffset] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-2-ChunkCombinedNan-ChunkCombinedNan] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-3-Separate-Separate] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-3-Separate-SeparateCode] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-3-Separate-ChunkCombinedCode] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-3-Separate-ChunkCombinedOffset] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-3-Separate-ChunkCombinedNan] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-3-SeparateCode-Separate] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-3-SeparateCode-SeparateCode] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-3-SeparateCode-ChunkCombinedCode] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-3-SeparateCode-ChunkCombinedOffset] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-3-SeparateCode-ChunkCombinedNan] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedCode-Separate] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedCode-SeparateCode] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedCode-ChunkCombinedCode] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedCode-ChunkCombinedOffset] PASSED [ 43%]
[2024-06-23T21:22:34.959Z] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedCode-ChunkCombinedNan] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedOffset-Separate] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedOffset-SeparateCode] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedOffset-ChunkCombinedCode] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedOffset-ChunkCombinedOffset] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedOffset-ChunkCombinedNan] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedNan-Separate] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedNan-SeparateCode] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedNan-ChunkCombinedCode] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedNan-ChunkCombinedOffset] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_convert.py::test_convert_lines[True-3-ChunkCombinedNan-ChunkCombinedNan] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled[0-OuterCode] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled[0-OuterOffset] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled[0-ChunkCombinedCode] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled[0-ChunkCombinedOffset] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled[0-ChunkCombinedCodeOffset] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled[0-ChunkCombinedOffsetOffset] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled[2-OuterCode] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled[2-OuterOffset] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled[2-ChunkCombinedCode] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled[2-ChunkCombinedOffset] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled[2-ChunkCombinedCodeOffset] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled[2-ChunkCombinedOffsetOffset] PASSED [ 44%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled_empty[0-OuterCode] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled_empty[0-OuterOffset] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled_empty[0-ChunkCombinedCode] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled_empty[0-ChunkCombinedOffset] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled_empty[0-ChunkCombinedCodeOffset] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled_empty[0-ChunkCombinedOffsetOffset] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled_empty[1-OuterCode] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled_empty[1-OuterOffset] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled_empty[1-ChunkCombinedCode] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled_empty[1-ChunkCombinedOffset] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled_empty[1-ChunkCombinedCodeOffset] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_filled_empty[1-ChunkCombinedOffsetOffset] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines[0-Separate] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines[0-SeparateCode] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines[0-ChunkCombinedCode] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines[0-ChunkCombinedOffset] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines[0-ChunkCombinedNan] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines[2-Separate] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines[2-SeparateCode] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines[2-ChunkCombinedCode] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines[2-ChunkCombinedOffset] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines[2-ChunkCombinedNan] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines_empty[0-Separate] PASSED [ 45%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines_empty[0-SeparateCode] PASSED [ 46%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines_empty[0-ChunkCombinedCode] PASSED [ 46%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines_empty[0-ChunkCombinedOffset] PASSED [ 46%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines_empty[0-ChunkCombinedNan] PASSED [ 46%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines_empty[1-Separate] PASSED [ 46%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines_empty[1-SeparateCode] PASSED [ 46%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines_empty[1-ChunkCombinedCode] PASSED [ 46%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines_empty[1-ChunkCombinedOffset] PASSED [ 46%]
[2024-06-23T21:22:35.209Z] tests/test_dechunk.py::test_dechunk_lines_empty[1-ChunkCombinedNan] PASSED [ 46%]
[2024-06-23T21:22:35.209Z] tests/test_enum.py::test_fill_type[OuterCode-201] PASSED [ 46%]
[2024-06-23T21:22:35.209Z] tests/test_enum.py::test_fill_type[OuterOffset-202] PASSED [ 46%]
[2024-06-23T21:22:35.209Z] tests/test_enum.py::test_fill_type[ChunkCombinedCode-203] PASSED [ 46%]
[2024-06-23T21:22:35.209Z] tests/test_enum.py::test_fill_type[ChunkCombinedOffset-204] PASSED [ 46%]
[2024-06-23T21:22:35.209Z] tests/test_enum.py::test_fill_type[ChunkCombinedCodeOffset-205] PASSED [ 46%]
[2024-06-23T21:22:35.209Z] tests/test_enum.py::test_fill_type[ChunkCombinedOffsetOffset-206] PASSED [ 46%]
[2024-06-23T21:22:35.209Z] tests/test_enum.py::test_line_type[Separate-101] PASSED [ 46%]
[2024-06-23T21:22:35.209Z] tests/test_enum.py::test_line_type[SeparateCode-102] PASSED [ 46%]
[2024-06-23T21:22:35.210Z] tests/test_enum.py::test_line_type[ChunkCombinedCode-103] PASSED [ 46%]
[2024-06-23T21:22:35.210Z] tests/test_enum.py::test_line_type[ChunkCombinedOffset-104] PASSED [ 46%]
[2024-06-23T21:22:35.210Z] tests/test_enum.py::test_line_type[ChunkCombinedNan-105] PASSED [ 46%]
[2024-06-23T21:22:35.210Z] tests/test_enum.py::test_all_fill_types PASSED [ 46%]
[2024-06-23T21:22:35.210Z] tests/test_enum.py::test_all_line_types PASSED [ 46%]
[2024-06-23T21:22:35.210Z] tests/test_enum.py::test_all_z_interps PASSED [ 46%]
[2024-06-23T21:22:35.210Z] tests/test_enum.py::test_string_to_enum[FillType-as_fill_type] PASSED [ 47%]
[2024-06-23T21:22:35.210Z] tests/test_enum.py::test_string_to_enum[LineType-as_line_type] PASSED [ 47%]
[2024-06-23T21:22:35.210Z] tests/test_enum.py::test_string_to_enum[ZInterp-as_z_interp] PASSED [ 47%]
[2024-06-23T21:22:35.210Z] tests/test_filled.py::test_filled_decreasing_levels[mpl2005] PASSED [ 47%]
[2024-06-23T21:22:35.210Z] tests/test_filled.py::test_filled_decreasing_levels[mpl2014] PASSED [ 47%]
[2024-06-23T21:22:35.210Z] tests/test_filled.py::test_filled_decreasing_levels[serial] PASSED [ 47%]
[2024-06-23T21:22:35.210Z] tests/test_filled.py::test_filled_decreasing_levels[threaded] PASSED [ 47%]
[2024-06-23T21:22:35.210Z] tests/test_filled.py::test_filled_identical_levels[mpl2005] PASSED [ 47%]
[2024-06-23T21:22:35.210Z] tests/test_filled.py::test_filled_identical_levels[mpl2014] PASSED [ 47%]
[2024-06-23T21:22:35.210Z] tests/test_filled.py::test_filled_identical_levels[serial] PASSED [ 47%]
[2024-06-23T21:22:35.210Z] tests/test_filled.py::test_filled_identical_levels[threaded] PASSED [ 47%]
[2024-06-23T21:22:35.460Z] tests/test_filled.py::test_filled_simple[mpl2005-OuterCode] FAILED [ 47%]
[2024-06-23T21:22:35.460Z] tests/test_filled.py::test_filled_simple[mpl2014-OuterCode] FAILED [ 47%]
[2024-06-23T21:22:35.710Z] tests/test_filled.py::test_filled_simple[serial-OuterCode] FAILED [ 47%]
[2024-06-23T21:22:35.960Z] tests/test_filled.py::test_filled_simple[serial-OuterOffset] FAILED [ 47%]
[2024-06-23T21:22:36.211Z] tests/test_filled.py::test_filled_simple[serial-ChunkCombinedCode] FAILED [ 47%]
[2024-06-23T21:22:36.211Z] tests/test_filled.py::test_filled_simple[serial-ChunkCombinedOffset] FAILED [ 47%]
[2024-06-23T21:22:36.461Z] tests/test_filled.py::test_filled_simple[serial-ChunkCombinedCodeOffset] FAILED [ 47%]
[2024-06-23T21:22:36.711Z] tests/test_filled.py::test_filled_simple[serial-ChunkCombinedOffsetOffset] FAILED [ 47%]
[2024-06-23T21:22:36.961Z] tests/test_filled.py::test_filled_simple[threaded-OuterCode] FAILED [ 47%]
[2024-06-23T21:22:37.212Z] tests/test_filled.py::test_filled_simple[threaded-OuterOffset] FAILED [ 47%]
[2024-06-23T21:22:37.212Z] tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedCode] FAILED [ 47%]
[2024-06-23T21:22:37.462Z] tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedOffset] FAILED [ 47%]
[2024-06-23T21:22:37.712Z] tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedCodeOffset] FAILED [ 48%]
[2024-06-23T21:22:37.962Z] tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedOffsetOffset] FAILED [ 48%]
[2024-06-23T21:22:38.212Z] tests/test_filled.py::test_filled_simple_chunk[mpl2005-OuterCode] FAILED [ 48%]
[2024-06-23T21:22:38.463Z] tests/test_filled.py::test_filled_simple_chunk[mpl2014-OuterCode] FAILED [ 48%]
[2024-06-23T21:22:38.463Z] tests/test_filled.py::test_filled_simple_chunk[serial-OuterCode] FAILED [ 48%]
[2024-06-23T21:22:38.713Z] tests/test_filled.py::test_filled_simple_chunk[serial-OuterOffset] FAILED [ 48%]
[2024-06-23T21:22:38.963Z] tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedCode] FAILED [ 48%]
[2024-06-23T21:22:39.213Z] tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedOffset] FAILED [ 48%]
[2024-06-23T21:22:39.213Z] tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedCodeOffset] FAILED [ 48%]
[2024-06-23T21:22:39.464Z] tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedOffsetOffset] FAILED [ 48%]
[2024-06-23T21:22:39.714Z] tests/test_filled.py::test_filled_simple_chunk[threaded-OuterCode] FAILED [ 48%]
[2024-06-23T21:22:39.964Z] tests/test_filled.py::test_filled_simple_chunk[threaded-OuterOffset] FAILED [ 48%]
[2024-06-23T21:22:40.214Z] tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedCode] FAILED [ 48%]
[2024-06-23T21:22:40.214Z] tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedOffset] FAILED [ 48%]
[2024-06-23T21:22:40.465Z] tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedCodeOffset] FAILED [ 48%]
[2024-06-23T21:22:40.715Z] tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedOffsetOffset] FAILED [ 48%]
[2024-06-23T21:22:40.965Z] tests/test_filled.py::test_filled_simple_chunk_threads[2-OuterCode] FAILED [ 48%]
[2024-06-23T21:22:41.215Z] tests/test_filled.py::test_filled_simple_chunk_threads[2-OuterOffset] FAILED [ 48%]
[2024-06-23T21:22:41.215Z] tests/test_filled.py::test_filled_simple_chunk_threads[2-ChunkCombinedCode] FAILED [ 48%]
[2024-06-23T21:22:41.466Z] tests/test_filled.py::test_filled_simple_chunk_threads[2-ChunkCombinedOffset] FAILED [ 48%]
[2024-06-23T21:22:41.716Z] tests/test_filled.py::test_filled_simple_chunk_threads[2-ChunkCombinedCodeOffset] FAILED [ 48%]
[2024-06-23T21:22:41.966Z] tests/test_filled.py::test_filled_simple_chunk_threads[2-ChunkCombinedOffsetOffset] FAILED [ 48%]
[2024-06-23T21:22:42.216Z] tests/test_filled.py::test_filled_simple_chunk_threads[3-OuterCode] FAILED [ 48%]
[2024-06-23T21:22:42.216Z] tests/test_filled.py::test_filled_simple_chunk_threads[3-OuterOffset] FAILED [ 49%]
[2024-06-23T21:22:42.467Z] tests/test_filled.py::test_filled_simple_chunk_threads[3-ChunkCombinedCode] FAILED [ 49%]
[2024-06-23T21:22:42.717Z] tests/test_filled.py::test_filled_simple_chunk_threads[3-ChunkCombinedOffset] FAILED [ 49%]
[2024-06-23T21:22:42.967Z] tests/test_filled.py::test_filled_simple_chunk_threads[3-ChunkCombinedCodeOffset] FAILED [ 49%]
[2024-06-23T21:22:43.217Z] tests/test_filled.py::test_filled_simple_chunk_threads[3-ChunkCombinedOffsetOffset] FAILED [ 49%]
[2024-06-23T21:22:43.217Z] tests/test_filled.py::test_filled_simple_no_corner_mask[mpl2005-OuterCode] FAILED [ 49%]
[2024-06-23T21:22:43.468Z] tests/test_filled.py::test_filled_simple_no_corner_mask[mpl2014-OuterCode] FAILED [ 49%]
[2024-06-23T21:22:43.718Z] tests/test_filled.py::test_filled_simple_no_corner_mask[serial-OuterCode] FAILED [ 49%]
[2024-06-23T21:22:43.968Z] tests/test_filled.py::test_filled_simple_no_corner_mask[serial-OuterOffset] FAILED [ 49%]
[2024-06-23T21:22:44.218Z] tests/test_filled.py::test_filled_simple_no_corner_mask[serial-ChunkCombinedCode] FAILED [ 49%]
[2024-06-23T21:22:44.218Z] tests/test_filled.py::test_filled_simple_no_corner_mask[serial-ChunkCombinedOffset] FAILED [ 49%]
[2024-06-23T21:22:44.469Z] tests/test_filled.py::test_filled_simple_no_corner_mask[serial-ChunkCombinedCodeOffset] FAILED [ 49%]
[2024-06-23T21:22:44.719Z] tests/test_filled.py::test_filled_simple_no_corner_mask[serial-ChunkCombinedOffsetOffset] FAILED [ 49%]
[2024-06-23T21:22:44.969Z] tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-OuterCode] FAILED [ 49%]
[2024-06-23T21:22:45.219Z] tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-OuterOffset] FAILED [ 49%]
[2024-06-23T21:22:45.470Z] tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-ChunkCombinedCode] FAILED [ 49%]
[2024-06-23T21:22:45.470Z] tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-ChunkCombinedOffset] FAILED [ 49%]
[2024-06-23T21:22:45.720Z] tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-ChunkCombinedCodeOffset] FAILED [ 49%]
[2024-06-23T21:22:45.970Z] tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-ChunkCombinedOffsetOffset] FAILED [ 49%]
[2024-06-23T21:22:46.220Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[mpl2005-OuterCode] FAILED [ 49%]
[2024-06-23T21:22:46.470Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[mpl2014-OuterCode] FAILED [ 49%]
[2024-06-23T21:22:46.470Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-OuterCode] FAILED [ 49%]
[2024-06-23T21:22:46.721Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-OuterOffset] FAILED [ 49%]
[2024-06-23T21:22:46.971Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedCode] FAILED [ 50%]
[2024-06-23T21:22:47.221Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedOffset] FAILED [ 50%]
[2024-06-23T21:22:47.471Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedCodeOffset] FAILED [ 50%]
[2024-06-23T21:22:47.472Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedOffsetOffset] FAILED [ 50%]
[2024-06-23T21:22:47.722Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-OuterCode] FAILED [ 50%]
[2024-06-23T21:22:47.972Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-OuterOffset] FAILED [ 50%]
[2024-06-23T21:22:48.222Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedCode] FAILED [ 50%]
[2024-06-23T21:22:48.472Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedOffset] FAILED [ 50%]
[2024-06-23T21:22:48.472Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedCodeOffset] FAILED [ 50%]
[2024-06-23T21:22:48.723Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedOffsetOffset] FAILED [ 50%]
[2024-06-23T21:22:48.973Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-OuterCode] FAILED [ 50%]
[2024-06-23T21:22:49.223Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-OuterOffset] FAILED [ 50%]
[2024-06-23T21:22:49.473Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED [ 50%]
[2024-06-23T21:22:49.473Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED [ 50%]
[2024-06-23T21:22:49.724Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] FAILED [ 50%]
[2024-06-23T21:22:49.974Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] FAILED [ 50%]
[2024-06-23T21:22:50.224Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-OuterCode] FAILED [ 50%]
[2024-06-23T21:22:50.474Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-OuterOffset] FAILED [ 50%]
[2024-06-23T21:22:50.475Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED [ 50%]
[2024-06-23T21:22:50.725Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED [ 50%]
[2024-06-23T21:22:50.975Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] FAILED [ 50%]
[2024-06-23T21:22:51.225Z] tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] FAILED [ 50%]
[2024-06-23T21:22:51.475Z] tests/test_filled.py::test_filled_simple_corner_mask[mpl2014] FAILED [ 50%]
[2024-06-23T21:22:51.475Z] tests/test_filled.py::test_filled_simple_corner_mask[serial] FAILED [ 50%]
[2024-06-23T21:22:51.726Z] tests/test_filled.py::test_filled_simple_corner_mask[threaded] FAILED [ 51%]
[2024-06-23T21:22:51.976Z] tests/test_filled.py::test_filled_simple_corner_mask_chunk[mpl2014] FAILED [ 51%]
[2024-06-23T21:22:52.226Z] tests/test_filled.py::test_filled_simple_corner_mask_chunk[serial] FAILED [ 51%]
[2024-06-23T21:22:52.476Z] tests/test_filled.py::test_filled_simple_corner_mask_chunk[threaded] FAILED [ 51%]
[2024-06-23T21:22:52.476Z] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-OuterCode] FAILED [ 51%]
[2024-06-23T21:22:52.727Z] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-OuterOffset] FAILED [ 51%]
[2024-06-23T21:22:52.977Z] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED [ 51%]
[2024-06-23T21:22:53.227Z] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED [ 51%]
[2024-06-23T21:22:53.477Z] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] FAILED [ 51%]
[2024-06-23T21:22:53.728Z] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] FAILED [ 51%]
[2024-06-23T21:22:53.728Z] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-OuterCode] FAILED [ 51%]
[2024-06-23T21:22:53.978Z] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-OuterOffset] FAILED [ 51%]
[2024-06-23T21:22:54.228Z] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED [ 51%]
[2024-06-23T21:22:54.478Z] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED [ 51%]
[2024-06-23T21:22:54.729Z] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] FAILED [ 51%]
[2024-06-23T21:22:54.729Z] tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] FAILED [ 51%]
[2024-06-23T21:22:54.979Z] tests/test_filled.py::test_filled_simple_quad_as_tri[serial] FAILED [ 51%]
[2024-06-23T21:22:55.229Z] tests/test_filled.py::test_filled_simple_quad_as_tri[threaded] FAILED [ 51%]
[2024-06-23T21:22:55.479Z] tests/test_filled.py::test_filled_random[mpl2005-OuterCode] FAILED [ 51%]
[2024-06-23T21:22:55.730Z] tests/test_filled.py::test_filled_random[mpl2014-OuterCode] FAILED [ 51%]
[2024-06-23T21:22:55.980Z] tests/test_filled.py::test_filled_random[serial-OuterCode] FAILED [ 51%]
[2024-06-23T21:22:55.980Z] tests/test_filled.py::test_filled_random[serial-OuterOffset] FAILED [ 51%]
[2024-06-23T21:22:56.230Z] tests/test_filled.py::test_filled_random[serial-ChunkCombinedCode] FAILED [ 51%]
[2024-06-23T21:22:56.480Z] tests/test_filled.py::test_filled_random[serial-ChunkCombinedOffset] FAILED [ 52%]
[2024-06-23T21:22:56.730Z] tests/test_filled.py::test_filled_random[serial-ChunkCombinedCodeOffset] FAILED [ 52%]
[2024-06-23T21:22:56.981Z] tests/test_filled.py::test_filled_random[serial-ChunkCombinedOffsetOffset] FAILED [ 52%]
[2024-06-23T21:22:56.981Z] tests/test_filled.py::test_filled_random[threaded-OuterCode] FAILED [ 52%]
[2024-06-23T21:22:57.231Z] tests/test_filled.py::test_filled_random[threaded-OuterOffset] FAILED [ 52%]
[2024-06-23T21:22:57.481Z] tests/test_filled.py::test_filled_random[threaded-ChunkCombinedCode] FAILED [ 52%]
[2024-06-23T21:22:57.731Z] tests/test_filled.py::test_filled_random[threaded-ChunkCombinedOffset] FAILED [ 52%]
[2024-06-23T21:22:57.982Z] tests/test_filled.py::test_filled_random[threaded-ChunkCombinedCodeOffset] FAILED [ 52%]
[2024-06-23T21:22:57.982Z] tests/test_filled.py::test_filled_random[threaded-ChunkCombinedOffsetOffset] FAILED [ 52%]
[2024-06-23T21:22:58.232Z] tests/test_filled.py::test_filled_random_chunk[mpl2005-OuterCode] FAILED [ 52%]
[2024-06-23T21:22:58.482Z] tests/test_filled.py::test_filled_random_chunk[mpl2014-OuterCode] FAILED [ 52%]
[2024-06-23T21:22:58.732Z] tests/test_filled.py::test_filled_random_chunk[serial-OuterCode] FAILED [ 52%]
[2024-06-23T21:22:58.983Z] tests/test_filled.py::test_filled_random_chunk[serial-OuterOffset] FAILED [ 52%]
[2024-06-23T21:22:58.983Z] tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedCode] FAILED [ 52%]
[2024-06-23T21:22:59.233Z] tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedOffset] FAILED [ 52%]
[2024-06-23T21:22:59.483Z] tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedCodeOffset] FAILED [ 52%]
[2024-06-23T21:22:59.733Z] tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedOffsetOffset] FAILED [ 52%]
[2024-06-23T21:22:59.983Z] tests/test_filled.py::test_filled_random_chunk[threaded-OuterCode] FAILED [ 52%]
[2024-06-23T21:22:59.984Z] tests/test_filled.py::test_filled_random_chunk[threaded-OuterOffset] FAILED [ 52%]
[2024-06-23T21:23:00.234Z] tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedCode] FAILED [ 52%]
[2024-06-23T21:23:00.484Z] tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedOffset] FAILED [ 52%]
[2024-06-23T21:23:00.734Z] tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedCodeOffset] FAILED [ 52%]
[2024-06-23T21:23:00.985Z] tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedOffsetOffset] FAILED [ 52%]
[2024-06-23T21:23:01.235Z] tests/test_filled.py::test_filled_random_chunk_threads[2-OuterCode] FAILED [ 53%]
[2024-06-23T21:23:01.235Z] tests/test_filled.py::test_filled_random_chunk_threads[2-OuterOffset] FAILED [ 53%]
[2024-06-23T21:23:01.485Z] tests/test_filled.py::test_filled_random_chunk_threads[2-ChunkCombinedCode] FAILED [ 53%]
[2024-06-23T21:23:01.735Z] tests/test_filled.py::test_filled_random_chunk_threads[2-ChunkCombinedOffset] FAILED [ 53%]
[2024-06-23T21:23:01.986Z] tests/test_filled.py::test_filled_random_chunk_threads[2-ChunkCombinedCodeOffset] FAILED [ 53%]
[2024-06-23T21:23:02.236Z] tests/test_filled.py::test_filled_random_chunk_threads[2-ChunkCombinedOffsetOffset] FAILED [ 53%]
[2024-06-23T21:23:02.236Z] tests/test_filled.py::test_filled_random_chunk_threads[3-OuterCode] FAILED [ 53%]
[2024-06-23T21:23:02.486Z] tests/test_filled.py::test_filled_random_chunk_threads[3-OuterOffset] FAILED [ 53%]
[2024-06-23T21:23:02.736Z] tests/test_filled.py::test_filled_random_chunk_threads[3-ChunkCombinedCode] FAILED [ 53%]
[2024-06-23T21:23:02.987Z] tests/test_filled.py::test_filled_random_chunk_threads[3-ChunkCombinedOffset] FAILED [ 53%]
[2024-06-23T21:23:03.237Z] tests/test_filled.py::test_filled_random_chunk_threads[3-ChunkCombinedCodeOffset] FAILED [ 53%]
[2024-06-23T21:23:03.237Z] tests/test_filled.py::test_filled_random_chunk_threads[3-ChunkCombinedOffsetOffset] FAILED [ 53%]
[2024-06-23T21:23:03.487Z] tests/test_filled.py::test_filled_random_no_corner_mask[mpl2005-OuterCode] FAILED [ 53%]
[2024-06-23T21:23:03.737Z] tests/test_filled.py::test_filled_random_no_corner_mask[mpl2014-OuterCode] FAILED [ 53%]
[2024-06-23T21:23:03.988Z] tests/test_filled.py::test_filled_random_no_corner_mask[serial-OuterCode] FAILED [ 53%]
[2024-06-23T21:23:04.238Z] tests/test_filled.py::test_filled_random_no_corner_mask[serial-OuterOffset] FAILED [ 53%]
[2024-06-23T21:23:04.238Z] tests/test_filled.py::test_filled_random_no_corner_mask[serial-ChunkCombinedCode] FAILED [ 53%]
[2024-06-23T21:23:04.488Z] tests/test_filled.py::test_filled_random_no_corner_mask[serial-ChunkCombinedOffset] FAILED [ 53%]
[2024-06-23T21:23:04.738Z] tests/test_filled.py::test_filled_random_no_corner_mask[serial-ChunkCombinedCodeOffset] FAILED [ 53%]
[2024-06-23T21:23:04.988Z] tests/test_filled.py::test_filled_random_no_corner_mask[serial-ChunkCombinedOffsetOffset] FAILED [ 53%]
[2024-06-23T21:23:05.239Z] tests/test_filled.py::test_filled_random_no_corner_mask[threaded-OuterCode] FAILED [ 53%]
[2024-06-23T21:23:05.239Z] tests/test_filled.py::test_filled_random_no_corner_mask[threaded-OuterOffset] FAILED [ 53%]
[2024-06-23T21:23:05.489Z] tests/test_filled.py::test_filled_random_no_corner_mask[threaded-ChunkCombinedCode] FAILED [ 53%]
[2024-06-23T21:23:05.739Z] tests/test_filled.py::test_filled_random_no_corner_mask[threaded-ChunkCombinedOffset] FAILED [ 54%]
[2024-06-23T21:23:05.989Z] tests/test_filled.py::test_filled_random_no_corner_mask[threaded-ChunkCombinedCodeOffset] FAILED [ 54%]
[2024-06-23T21:23:06.240Z] tests/test_filled.py::test_filled_random_no_corner_mask[threaded-ChunkCombinedOffsetOffset] FAILED [ 54%]
[2024-06-23T21:23:06.490Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[mpl2005-OuterCode] FAILED [ 54%]
[2024-06-23T21:23:06.490Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[mpl2014-OuterCode] FAILED [ 54%]
[2024-06-23T21:23:06.740Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-OuterCode] FAILED [ 54%]
[2024-06-23T21:23:06.991Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-OuterOffset] FAILED [ 54%]
[2024-06-23T21:23:07.241Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedCode] FAILED [ 54%]
[2024-06-23T21:23:07.491Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedOffset] FAILED [ 54%]
[2024-06-23T21:23:07.741Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedCodeOffset] FAILED [ 54%]
[2024-06-23T21:23:07.741Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedOffsetOffset] FAILED [ 54%]
[2024-06-23T21:23:07.992Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-OuterCode] FAILED [ 54%]
[2024-06-23T21:23:08.242Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-OuterOffset] FAILED [ 54%]
[2024-06-23T21:23:08.492Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedCode] FAILED [ 54%]
[2024-06-23T21:23:08.742Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedOffset] FAILED [ 54%]
[2024-06-23T21:23:08.742Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedCodeOffset] FAILED [ 54%]
[2024-06-23T21:23:08.993Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedOffsetOffset] FAILED [ 54%]
[2024-06-23T21:23:09.243Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-OuterCode] FAILED [ 54%]
[2024-06-23T21:23:09.493Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-OuterOffset] FAILED [ 54%]
[2024-06-23T21:23:09.743Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED [ 54%]
[2024-06-23T21:23:09.743Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED [ 54%]
[2024-06-23T21:23:09.994Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] FAILED [ 54%]
[2024-06-23T21:23:10.244Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] FAILED [ 54%]
[2024-06-23T21:23:10.494Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-OuterCode] FAILED [ 55%]
[2024-06-23T21:23:10.745Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-OuterOffset] FAILED [ 55%]
[2024-06-23T21:23:10.745Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED [ 55%]
[2024-06-23T21:23:10.995Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED [ 55%]
[2024-06-23T21:23:11.245Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] FAILED [ 55%]
[2024-06-23T21:23:11.495Z] tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] FAILED [ 55%]
[2024-06-23T21:23:11.746Z] tests/test_filled.py::test_filled_random_corner_mask[mpl2014] FAILED [ 55%]
[2024-06-23T21:23:11.996Z] tests/test_filled.py::test_filled_random_corner_mask[serial] FAILED [ 55%]
[2024-06-23T21:23:11.996Z] tests/test_filled.py::test_filled_random_corner_mask[threaded] FAILED [ 55%]
[2024-06-23T21:23:12.246Z] tests/test_filled.py::test_filled_random_corner_mask_chunk[mpl2014] FAILED [ 55%]
[2024-06-23T21:23:12.496Z] tests/test_filled.py::test_filled_random_corner_mask_chunk[serial] FAILED [ 55%]
[2024-06-23T21:23:12.747Z] tests/test_filled.py::test_filled_random_corner_mask_chunk[threaded] FAILED [ 55%]
[2024-06-23T21:23:12.997Z] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-OuterCode] FAILED [ 55%]
[2024-06-23T21:23:12.997Z] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-OuterOffset] FAILED [ 55%]
[2024-06-23T21:23:13.247Z] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED [ 55%]
[2024-06-23T21:23:13.497Z] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED [ 55%]
[2024-06-23T21:23:13.748Z] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] FAILED [ 55%]
[2024-06-23T21:23:13.998Z] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] FAILED [ 55%]
[2024-06-23T21:23:14.248Z] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-OuterCode] FAILED [ 55%]
[2024-06-23T21:23:14.248Z] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-OuterOffset] FAILED [ 55%]
[2024-06-23T21:23:14.498Z] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED [ 55%]
[2024-06-23T21:23:14.749Z] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED [ 55%]
[2024-06-23T21:23:14.999Z] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] FAILED [ 55%]
[2024-06-23T21:23:15.249Z] tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] FAILED [ 56%]
[2024-06-23T21:23:15.249Z] tests/test_filled.py::test_filled_random_quad_as_tri[serial] FAILED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_filled_random_quad_as_tri[threaded] FAILED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type[serial-OuterCode] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type[serial-OuterOffset] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type[serial-ChunkCombinedCode] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type[serial-ChunkCombinedOffset] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type[serial-ChunkCombinedCodeOffset] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type[serial-ChunkCombinedOffsetOffset] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type[threaded-OuterCode] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type[threaded-OuterOffset] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type[threaded-ChunkCombinedCode] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type[threaded-ChunkCombinedOffset] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type[threaded-ChunkCombinedCodeOffset] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type[threaded-ChunkCombinedOffsetOffset] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type_chunk[serial-1-OuterCode] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type_chunk[serial-1-OuterOffset] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type_chunk[serial-1-ChunkCombinedCode] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type_chunk[serial-1-ChunkCombinedOffset] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type_chunk[serial-1-ChunkCombinedCodeOffset] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type_chunk[serial-1-ChunkCombinedOffsetOffset] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-1-OuterCode] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-1-OuterOffset] PASSED [ 56%]
[2024-06-23T21:23:15.499Z] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-1-ChunkCombinedCode] PASSED [ 57%]
[2024-06-23T21:23:15.750Z] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-1-ChunkCombinedOffset] PASSED [ 57%]
[2024-06-23T21:23:15.750Z] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-1-ChunkCombinedCodeOffset] PASSED [ 57%]
[2024-06-23T21:23:15.750Z] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-1-ChunkCombinedOffsetOffset] PASSED [ 57%]
[2024-06-23T21:23:15.750Z] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-2-OuterCode] PASSED [ 57%]
[2024-06-23T21:23:15.750Z] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-2-OuterOffset] PASSED [ 57%]
[2024-06-23T21:23:15.750Z] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-2-ChunkCombinedCode] PASSED [ 57%]
[2024-06-23T21:23:15.750Z] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-2-ChunkCombinedOffset] PASSED [ 57%]
[2024-06-23T21:23:15.750Z] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-2-ChunkCombinedCodeOffset] PASSED [ 57%]
[2024-06-23T21:23:15.750Z] tests/test_filled.py::test_return_by_fill_type_chunk[threaded-2-ChunkCombinedOffsetOffset] PASSED [ 57%]
[2024-06-23T21:23:42.150Z] tests/test_filled.py::test_filled_random_big[None-mpl2005-OuterCode] PASSED [ 57%]
[2024-06-23T21:23:50.173Z] tests/test_filled.py::test_filled_random_big[None-mpl2014-OuterCode] PASSED [ 57%]
[2024-06-23T21:24:00.047Z] tests/test_filled.py::test_filled_random_big[None-serial-OuterCode] PASSED [ 57%]
[2024-06-23T21:24:21.844Z] tests/test_filled.py::test_filled_random_big[None-serial-OuterOffset] PASSED [ 57%]
[2024-06-23T21:24:21.844Z] tests/test_filled.py::test_filled_random_big[None-serial-ChunkCombinedCode] PASSED [ 57%]
[2024-06-23T21:24:21.844Z] tests/test_filled.py::test_filled_random_big[None-serial-ChunkCombinedOffset] PASSED [ 57%]
[2024-06-23T21:24:21.844Z] tests/test_filled.py::test_filled_random_big[None-serial-ChunkCombinedCodeOffset] PASSED [ 57%]
[2024-06-23T21:24:22.755Z] tests/test_filled.py::test_filled_random_big[None-serial-ChunkCombinedOffsetOffset] PASSED [ 57%]
[2024-06-23T21:24:32.629Z] tests/test_filled.py::test_filled_random_big[None-threaded-OuterCode] PASSED [ 57%]
[2024-06-23T21:24:54.425Z] tests/test_filled.py::test_filled_random_big[None-threaded-OuterOffset] PASSED [ 57%]
[2024-06-23T21:24:54.425Z] tests/test_filled.py::test_filled_random_big[None-threaded-ChunkCombinedCode] PASSED [ 57%]
[2024-06-23T21:24:54.425Z] tests/test_filled.py::test_filled_random_big[None-threaded-ChunkCombinedOffset] PASSED [ 57%]
[2024-06-23T21:24:54.676Z] tests/test_filled.py::test_filled_random_big[None-threaded-ChunkCombinedCodeOffset] PASSED [ 57%]
[2024-06-23T21:24:55.586Z] tests/test_filled.py::test_filled_random_big[None-threaded-ChunkCombinedOffsetOffset] PASSED [ 58%]
[2024-06-23T21:25:05.460Z] tests/test_filled.py::test_filled_random_big[False-mpl2005-OuterCode] PASSED [ 58%]
[2024-06-23T21:25:17.556Z] tests/test_filled.py::test_filled_random_big[False-mpl2014-OuterCode] PASSED [ 58%]
[2024-06-23T21:25:27.430Z] tests/test_filled.py::test_filled_random_big[False-serial-OuterCode] PASSED [ 58%]
[2024-06-23T21:25:49.226Z] tests/test_filled.py::test_filled_random_big[False-serial-OuterOffset] PASSED [ 58%]
[2024-06-23T21:25:49.476Z] tests/test_filled.py::test_filled_random_big[False-serial-ChunkCombinedCode] PASSED [ 58%]
[2024-06-23T21:25:50.387Z] tests/test_filled.py::test_filled_random_big[False-serial-ChunkCombinedOffset] PASSED [ 58%]
[2024-06-23T21:25:51.298Z] tests/test_filled.py::test_filled_random_big[False-serial-ChunkCombinedCodeOffset] PASSED [ 58%]
[2024-06-23T21:25:52.641Z] tests/test_filled.py::test_filled_random_big[False-serial-ChunkCombinedOffsetOffset] PASSED [ 58%]
[2024-06-23T21:26:02.515Z] tests/test_filled.py::test_filled_random_big[False-threaded-OuterCode] PASSED [ 58%]
[2024-06-23T21:26:24.312Z] tests/test_filled.py::test_filled_random_big[False-threaded-OuterOffset] PASSED [ 58%]
[2024-06-23T21:26:25.223Z] tests/test_filled.py::test_filled_random_big[False-threaded-ChunkCombinedCode] PASSED [ 58%]
[2024-06-23T21:26:26.133Z] tests/test_filled.py::test_filled_random_big[False-threaded-ChunkCombinedOffset] PASSED [ 58%]
[2024-06-23T21:26:27.476Z] tests/test_filled.py::test_filled_random_big[False-threaded-ChunkCombinedCodeOffset] PASSED [ 58%]
[2024-06-23T21:26:28.387Z] tests/test_filled.py::test_filled_random_big[False-threaded-ChunkCombinedOffsetOffset] PASSED [ 58%]
[2024-06-23T21:26:28.387Z] tests/test_filled.py::test_filled_random_big[True-mpl2005-OuterCode] SKIPPED [ 58%]
[2024-06-23T21:26:28.387Z] tests/test_filled.py::test_filled_random_big[True-mpl2014-OuterCode] SKIPPED [ 58%]
[2024-06-23T21:26:38.261Z] tests/test_filled.py::test_filled_random_big[True-serial-OuterCode] PASSED [ 58%]
[2024-06-23T21:27:00.057Z] tests/test_filled.py::test_filled_random_big[True-serial-OuterOffset] PASSED [ 58%]
[2024-06-23T21:27:00.057Z] tests/test_filled.py::test_filled_random_big[True-serial-ChunkCombinedCode] PASSED [ 58%]
[2024-06-23T21:27:00.057Z] tests/test_filled.py::test_filled_random_big[True-serial-ChunkCombinedOffset] PASSED [ 58%]
[2024-06-23T21:27:00.608Z] tests/test_filled.py::test_filled_random_big[True-serial-ChunkCombinedCodeOffset] PASSED [ 58%]
[2024-06-23T21:27:01.519Z] tests/test_filled.py::test_filled_random_big[True-serial-ChunkCombinedOffsetOffset] PASSED [ 58%]
[2024-06-23T21:27:11.394Z] tests/test_filled.py::test_filled_random_big[True-threaded-OuterCode] PASSED [ 59%]
[2024-06-23T21:27:33.190Z] tests/test_filled.py::test_filled_random_big[True-threaded-OuterOffset] PASSED [ 59%]
[2024-06-23T21:27:33.191Z] tests/test_filled.py::test_filled_random_big[True-threaded-ChunkCombinedCode] PASSED [ 59%]
[2024-06-23T21:27:33.191Z] tests/test_filled.py::test_filled_random_big[True-threaded-ChunkCombinedOffset] PASSED [ 59%]
[2024-06-23T21:27:33.741Z] tests/test_filled.py::test_filled_random_big[True-threaded-ChunkCombinedCodeOffset] PASSED [ 59%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_random_big[True-threaded-ChunkCombinedOffsetOffset] PASSED [ 59%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_compare_slow[seed0] SKIPPED (use -...) [ 59%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_compare_slow[seed1] SKIPPED (use -...) [ 59%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_compare_slow[seed2] SKIPPED (use -...) [ 59%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_compare_slow[seed3] SKIPPED (use -...) [ 59%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_compare_slow[seed4] SKIPPED (use -...) [ 59%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_compare_slow[seed5] SKIPPED (use -...) [ 59%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_compare_slow[seed6] SKIPPED (use -...) [ 59%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_compare_slow[seed7] SKIPPED (use -...) [ 59%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_compare_slow[seed8] SKIPPED (use -...) [ 59%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_compare_slow[seed9] SKIPPED (use -...) [ 59%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-nan0-mpl2005] PASSED [ 59%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-nan0-mpl2014] PASSED [ 59%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-nan0-serial] PASSED [ 59%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-nan0-threaded] PASSED [ 59%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-nan1-mpl2005] PASSED [ 59%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-nan1-mpl2014] PASSED [ 59%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-nan1-serial] PASSED [ 59%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-nan1-threaded] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-inf-mpl2005] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-inf-mpl2014] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-inf-serial] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0-inf-threaded] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0--inf-mpl2005] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0--inf-mpl2014] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0--inf-serial] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-0.0--inf-threaded] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan0-nan0-mpl2005] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan0-nan0-mpl2014] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan0-nan0-serial] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan0-nan0-threaded] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan0-nan1-mpl2005] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan0-nan1-mpl2014] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan0-nan1-serial] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan0-nan1-threaded] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan0-inf-mpl2005] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan0-inf-mpl2014] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan0-inf-serial] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan0-inf-threaded] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan0--inf-mpl2005] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan0--inf-mpl2014] PASSED [ 60%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan0--inf-serial] PASSED [ 61%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan0--inf-threaded] PASSED [ 61%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan1-nan0-mpl2005] PASSED [ 61%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan1-nan0-mpl2014] PASSED [ 61%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan1-nan0-serial] PASSED [ 61%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan1-nan0-threaded] PASSED [ 61%]
[2024-06-23T21:27:35.084Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan1-nan1-mpl2005] PASSED [ 61%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan1-nan1-mpl2014] PASSED [ 61%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan1-nan1-serial] PASSED [ 61%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan1-nan1-threaded] PASSED [ 61%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan1-inf-mpl2005] PASSED [ 61%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan1-inf-mpl2014] PASSED [ 61%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan1-inf-serial] PASSED [ 61%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan1-inf-threaded] PASSED [ 61%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan1--inf-mpl2005] PASSED [ 61%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan1--inf-mpl2014] PASSED [ 61%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan1--inf-serial] PASSED [ 61%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-nan1--inf-threaded] PASSED [ 61%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-nan0-mpl2005] PASSED [ 61%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-nan0-mpl2014] PASSED [ 61%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-nan0-serial] PASSED [ 61%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-nan0-threaded] PASSED [ 61%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-nan1-mpl2005] PASSED [ 61%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-nan1-mpl2014] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-nan1-serial] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-nan1-threaded] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-inf-mpl2005] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-inf-mpl2014] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-inf-serial] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf-inf-threaded] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf--inf-mpl2005] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf--inf-mpl2014] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf--inf-serial] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0-inf--inf-threaded] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-nan0-mpl2005] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-nan0-mpl2014] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-nan0-serial] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-nan0-threaded] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-nan1-mpl2005] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-nan1-mpl2014] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-nan1-serial] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-nan1-threaded] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-inf-mpl2005] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-inf-mpl2014] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-inf-serial] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf-inf-threaded] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf--inf-mpl2005] PASSED [ 62%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf--inf-mpl2014] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf--inf-serial] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[0.0--inf--inf-threaded] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-0.0-nan0-mpl2005] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-0.0-nan0-mpl2014] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-0.0-nan0-serial] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-0.0-nan0-threaded] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-0.0-nan1-mpl2005] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-0.0-nan1-mpl2014] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-0.0-nan1-serial] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-0.0-nan1-threaded] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-0.0-inf-mpl2005] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-0.0-inf-mpl2014] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-0.0-inf-serial] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-0.0-inf-threaded] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-0.0--inf-mpl2005] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-0.0--inf-mpl2014] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-0.0--inf-serial] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-0.0--inf-threaded] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan0-nan0-mpl2005] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan0-nan0-mpl2014] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan0-nan0-serial] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan0-nan0-threaded] PASSED [ 63%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan0-nan1-mpl2005] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan0-nan1-mpl2014] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan0-nan1-serial] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan0-nan1-threaded] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan0-inf-mpl2005] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan0-inf-mpl2014] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan0-inf-serial] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan0-inf-threaded] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan0--inf-mpl2005] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan0--inf-mpl2014] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan0--inf-serial] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan0--inf-threaded] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan1-nan0-mpl2005] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan1-nan0-mpl2014] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan1-nan0-serial] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan1-nan0-threaded] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan1-nan1-mpl2005] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan1-nan1-mpl2014] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan1-nan1-serial] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan1-nan1-threaded] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan1-inf-mpl2005] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan1-inf-mpl2014] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan1-inf-serial] PASSED [ 64%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan1-inf-threaded] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan1--inf-mpl2005] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan1--inf-mpl2014] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan1--inf-serial] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-nan1--inf-threaded] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-inf-nan0-mpl2005] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-inf-nan0-mpl2014] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-inf-nan0-serial] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-inf-nan0-threaded] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-inf-nan1-mpl2005] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-inf-nan1-mpl2014] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-inf-nan1-serial] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-inf-nan1-threaded] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-inf-inf-mpl2005] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-inf-inf-mpl2014] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-inf-inf-serial] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-inf-inf-threaded] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-inf--inf-mpl2005] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-inf--inf-mpl2014] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-inf--inf-serial] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0-inf--inf-threaded] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0--inf-nan0-mpl2005] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0--inf-nan0-mpl2014] PASSED [ 65%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0--inf-nan0-serial] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0--inf-nan0-threaded] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0--inf-nan1-mpl2005] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0--inf-nan1-mpl2014] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0--inf-nan1-serial] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0--inf-nan1-threaded] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0--inf-inf-mpl2005] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0--inf-inf-mpl2014] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0--inf-inf-serial] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0--inf-inf-threaded] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0--inf--inf-mpl2005] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0--inf--inf-mpl2014] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0--inf--inf-serial] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan0--inf--inf-threaded] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-0.0-nan0-mpl2005] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-0.0-nan0-mpl2014] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-0.0-nan0-serial] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-0.0-nan0-threaded] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-0.0-nan1-mpl2005] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-0.0-nan1-mpl2014] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-0.0-nan1-serial] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-0.0-nan1-threaded] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-0.0-inf-mpl2005] PASSED [ 66%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-0.0-inf-mpl2014] PASSED [ 67%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-0.0-inf-serial] PASSED [ 67%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-0.0-inf-threaded] PASSED [ 67%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-0.0--inf-mpl2005] PASSED [ 67%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-0.0--inf-mpl2014] PASSED [ 67%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-0.0--inf-serial] PASSED [ 67%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-0.0--inf-threaded] PASSED [ 67%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan0-nan0-mpl2005] PASSED [ 67%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan0-nan0-mpl2014] PASSED [ 67%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan0-nan0-serial] PASSED [ 67%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan0-nan0-threaded] PASSED [ 67%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan0-nan1-mpl2005] PASSED [ 67%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan0-nan1-mpl2014] PASSED [ 67%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan0-nan1-serial] PASSED [ 67%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan0-nan1-threaded] PASSED [ 67%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan0-inf-mpl2005] PASSED [ 67%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan0-inf-mpl2014] PASSED [ 67%]
[2024-06-23T21:27:35.085Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan0-inf-serial] PASSED [ 67%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan0-inf-threaded] PASSED [ 67%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan0--inf-mpl2005] PASSED [ 67%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan0--inf-mpl2014] PASSED [ 67%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan0--inf-serial] PASSED [ 67%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan0--inf-threaded] PASSED [ 67%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan1-nan0-mpl2005] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan1-nan0-mpl2014] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan1-nan0-serial] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan1-nan0-threaded] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan1-nan1-mpl2005] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan1-nan1-mpl2014] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan1-nan1-serial] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan1-nan1-threaded] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan1-inf-mpl2005] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan1-inf-mpl2014] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan1-inf-serial] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan1-inf-threaded] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan1--inf-mpl2005] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan1--inf-mpl2014] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan1--inf-serial] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-nan1--inf-threaded] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-inf-nan0-mpl2005] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-inf-nan0-mpl2014] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-inf-nan0-serial] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-inf-nan0-threaded] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-inf-nan1-mpl2005] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-inf-nan1-mpl2014] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-inf-nan1-serial] PASSED [ 68%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-inf-nan1-threaded] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-inf-inf-mpl2005] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-inf-inf-mpl2014] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-inf-inf-serial] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-inf-inf-threaded] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-inf--inf-mpl2005] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-inf--inf-mpl2014] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-inf--inf-serial] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1-inf--inf-threaded] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1--inf-nan0-mpl2005] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1--inf-nan0-mpl2014] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1--inf-nan0-serial] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1--inf-nan0-threaded] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1--inf-nan1-mpl2005] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1--inf-nan1-mpl2014] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1--inf-nan1-serial] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1--inf-nan1-threaded] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1--inf-inf-mpl2005] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1--inf-inf-mpl2014] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1--inf-inf-serial] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1--inf-inf-threaded] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1--inf--inf-mpl2005] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1--inf--inf-mpl2014] PASSED [ 69%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1--inf--inf-serial] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[nan1--inf--inf-threaded] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-nan0-mpl2005] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-nan0-mpl2014] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-nan0-serial] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-nan0-threaded] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-nan1-mpl2005] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-nan1-mpl2014] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-nan1-serial] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-nan1-threaded] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-inf-mpl2005] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-inf-mpl2014] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-inf-serial] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0-inf-threaded] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0--inf-mpl2005] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0--inf-mpl2014] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0--inf-serial] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-0.0--inf-threaded] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan0-nan0-mpl2005] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan0-nan0-mpl2014] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan0-nan0-serial] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan0-nan0-threaded] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan0-nan1-mpl2005] PASSED [ 70%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan0-nan1-mpl2014] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan0-nan1-serial] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan0-nan1-threaded] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan0-inf-mpl2005] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan0-inf-mpl2014] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan0-inf-serial] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan0-inf-threaded] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan0--inf-mpl2005] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan0--inf-mpl2014] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan0--inf-serial] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan0--inf-threaded] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan1-nan0-mpl2005] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan1-nan0-mpl2014] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan1-nan0-serial] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan1-nan0-threaded] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan1-nan1-mpl2005] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan1-nan1-mpl2014] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan1-nan1-serial] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan1-nan1-threaded] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan1-inf-mpl2005] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan1-inf-mpl2014] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan1-inf-serial] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan1-inf-threaded] PASSED [ 71%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan1--inf-mpl2005] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan1--inf-mpl2014] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan1--inf-serial] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-nan1--inf-threaded] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-nan0-mpl2005] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-nan0-mpl2014] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-nan0-serial] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-nan0-threaded] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-nan1-mpl2005] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-nan1-mpl2014] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-nan1-serial] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-nan1-threaded] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-inf-mpl2005] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-inf-mpl2014] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-inf-serial] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-inf-inf-threaded] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-inf--inf-mpl2005] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-inf--inf-mpl2014] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-inf--inf-serial] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf-inf--inf-threaded] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-nan0-mpl2005] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-nan0-mpl2014] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-nan0-serial] PASSED [ 72%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-nan0-threaded] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-nan1-mpl2005] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-nan1-mpl2014] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-nan1-serial] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-nan1-threaded] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-inf-mpl2005] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-inf-mpl2014] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-inf-serial] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf--inf-inf-threaded] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf--inf--inf-mpl2005] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf--inf--inf-mpl2014] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf--inf--inf-serial] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[inf--inf--inf-threaded] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-nan0-mpl2005] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-nan0-mpl2014] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-nan0-serial] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-nan0-threaded] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-nan1-mpl2005] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-nan1-mpl2014] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-nan1-serial] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-nan1-threaded] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-inf-mpl2005] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-inf-mpl2014] PASSED [ 73%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-inf-serial] PASSED [ 74%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0-inf-threaded] PASSED [ 74%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0--inf-mpl2005] PASSED [ 74%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0--inf-mpl2014] PASSED [ 74%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0--inf-serial] PASSED [ 74%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-0.0--inf-threaded] PASSED [ 74%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan0-nan0-mpl2005] PASSED [ 74%]
[2024-06-23T21:27:35.086Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan0-nan0-mpl2014] PASSED [ 74%]
[2024-06-23T21:27:35.087Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan0-nan0-serial] PASSED [ 74%]
[2024-06-23T21:27:35.087Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan0-nan0-threaded] PASSED [ 74%]
[2024-06-23T21:27:35.087Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan0-nan1-mpl2005] PASSED [ 74%]
[2024-06-23T21:27:35.087Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan0-nan1-mpl2014] PASSED [ 74%]
[2024-06-23T21:27:35.087Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan0-nan1-serial] PASSED [ 74%]
[2024-06-23T21:27:35.087Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan0-nan1-threaded] PASSED [ 74%]
[2024-06-23T21:27:35.087Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan0-inf-mpl2005] PASSED [ 74%]
[2024-06-23T21:27:35.087Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan0-inf-mpl2014] PASSED [ 74%]
[2024-06-23T21:27:35.087Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan0-inf-serial] PASSED [ 74%]
[2024-06-23T21:27:35.087Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan0-inf-threaded] PASSED [ 74%]
[2024-06-23T21:27:35.087Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan0--inf-mpl2005] PASSED [ 74%]
[2024-06-23T21:27:35.087Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan0--inf-mpl2014] PASSED [ 74%]
[2024-06-23T21:27:35.087Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan0--inf-serial] PASSED [ 74%]
[2024-06-23T21:27:35.087Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan0--inf-threaded] PASSED [ 74%]
[2024-06-23T21:27:35.087Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan1-nan0-mpl2005] PASSED [ 74%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan1-nan0-mpl2014] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan1-nan0-serial] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan1-nan0-threaded] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan1-nan1-mpl2005] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan1-nan1-mpl2014] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan1-nan1-serial] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan1-nan1-threaded] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan1-inf-mpl2005] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan1-inf-mpl2014] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan1-inf-serial] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan1-inf-threaded] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan1--inf-mpl2005] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan1--inf-mpl2014] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan1--inf-serial] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-nan1--inf-threaded] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-nan0-mpl2005] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-nan0-mpl2014] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-nan0-serial] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-nan0-threaded] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-nan1-mpl2005] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-nan1-mpl2014] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-nan1-serial] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-nan1-threaded] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-inf-mpl2005] PASSED [ 75%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-inf-mpl2014] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-inf-serial] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf-inf-threaded] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf--inf-mpl2005] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf--inf-mpl2014] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf--inf-serial] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf-inf--inf-threaded] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-nan0-mpl2005] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-nan0-mpl2014] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-nan0-serial] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-nan0-threaded] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-nan1-mpl2005] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-nan1-mpl2014] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-nan1-serial] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-nan1-threaded] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-inf-mpl2005] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-inf-mpl2014] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-inf-serial] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf-inf-threaded] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf--inf-mpl2005] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf--inf-mpl2014] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf--inf-serial] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_z_nonfinite[-inf--inf--inf-threaded] PASSED [ 76%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_infinite_level[mpl2005] PASSED [ 77%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_infinite_level[mpl2014] PASSED [ 77%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_infinite_level[serial] PASSED [ 77%]
[2024-06-23T21:27:35.337Z] tests/test_filled.py::test_filled_infinite_level[threaded] PASSED [ 77%]
[2024-06-23T21:27:35.337Z] tests/test_internal.py::test_default[Mpl2005ContourGenerator] PASSED [ 77%]
[2024-06-23T21:27:35.337Z] tests/test_internal.py::test_default[Mpl2014ContourGenerator] PASSED [ 77%]
[2024-06-23T21:27:35.337Z] tests/test_internal.py::test_default[SerialContourGenerator] PASSED [ 77%]
[2024-06-23T21:27:35.337Z] tests/test_internal.py::test_default[ThreadedContourGenerator] PASSED [ 77%]
[2024-06-23T21:27:35.337Z] tests/test_internal.py::test_xyz_ndim[Mpl2005ContourGenerator] PASSED [ 77%]
[2024-06-23T21:27:35.337Z] tests/test_internal.py::test_xyz_ndim[Mpl2014ContourGenerator] PASSED [ 77%]
[2024-06-23T21:27:35.337Z] tests/test_internal.py::test_xyz_ndim[SerialContourGenerator] PASSED [ 77%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_xyz_ndim[ThreadedContourGenerator] PASSED [ 77%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_xyz_shape[Mpl2005ContourGenerator] PASSED [ 77%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_xyz_shape[Mpl2014ContourGenerator] PASSED [ 77%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_xyz_shape[SerialContourGenerator] PASSED [ 77%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_xyz_shape[ThreadedContourGenerator] PASSED [ 77%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_xy_at_least_2x2[Mpl2005ContourGenerator] PASSED [ 77%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_xy_at_least_2x2[Mpl2014ContourGenerator] PASSED [ 77%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_xy_at_least_2x2[SerialContourGenerator] PASSED [ 77%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_xy_at_least_2x2[ThreadedContourGenerator] PASSED [ 77%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_mask_2d[Mpl2005ContourGenerator] PASSED [ 77%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_mask_2d[Mpl2014ContourGenerator] PASSED [ 77%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_mask_2d[SerialContourGenerator] PASSED [ 77%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_mask_2d[ThreadedContourGenerator] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_mask_shape[Mpl2005ContourGenerator] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_mask_shape[Mpl2014ContourGenerator] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_mask_shape[SerialContourGenerator] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_mask_shape[ThreadedContourGenerator] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_chunk_size_not_negative[Mpl2005ContourGenerator] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_chunk_size_not_negative[Mpl2014ContourGenerator] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_chunk_size_not_negative[SerialContourGenerator] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_chunk_size_not_negative[ThreadedContourGenerator] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_log_z_not_negative[SerialContourGenerator] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_log_z_not_negative[ThreadedContourGenerator] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_write_cache[SerialContourGenerator] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_internal.py::test_write_cache[ThreadedContourGenerator] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[-1e-10-mpl2005] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[-1e-10-mpl2014] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[-1e-10-serial] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[-1e-10-threaded] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[10000000001.0-mpl2005] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[10000000001.0-mpl2014] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[10000000001.0-serial] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[10000000001.0-threaded] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[nan0-mpl2005] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[nan0-mpl2014] PASSED [ 78%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[nan0-serial] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[nan0-threaded] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[nan1-mpl2005] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[nan1-mpl2014] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[nan1-serial] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[nan1-threaded] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[inf-mpl2005] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[inf-mpl2014] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[inf-serial] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[inf-threaded] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[-inf-mpl2005] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[-inf-mpl2014] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[-inf-serial] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_level_outside[-inf-threaded] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_w_to_e[mpl2005] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_w_to_e[mpl2014] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_w_to_e[serial] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_w_to_e[threaded] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_e_to_w[mpl2005] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_e_to_w[mpl2014] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_e_to_w[serial] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_e_to_w[threaded] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_loop[mpl2005] PASSED [ 79%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_loop[mpl2014] PASSED [ 80%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_loop[serial] PASSED [ 80%]
[2024-06-23T21:27:35.338Z] tests/test_lines.py::test_loop[threaded] PASSED [ 80%]
[2024-06-23T21:27:35.588Z] tests/test_lines.py::test_lines_simple[mpl2005-SeparateCode] FAILED [ 80%]
[2024-06-23T21:27:35.839Z] tests/test_lines.py::test_lines_simple[mpl2014-SeparateCode] FAILED [ 80%]
[2024-06-23T21:27:35.839Z] tests/test_lines.py::test_lines_simple[serial-Separate] FAILED [ 80%]
[2024-06-23T21:27:36.089Z] tests/test_lines.py::test_lines_simple[serial-SeparateCode] FAILED [ 80%]
[2024-06-23T21:27:36.339Z] tests/test_lines.py::test_lines_simple[serial-ChunkCombinedCode] FAILED [ 80%]
[2024-06-23T21:27:36.589Z] tests/test_lines.py::test_lines_simple[serial-ChunkCombinedOffset] FAILED [ 80%]
[2024-06-23T21:27:36.840Z] tests/test_lines.py::test_lines_simple[serial-ChunkCombinedNan] FAILED [ 80%]
[2024-06-23T21:27:37.090Z] tests/test_lines.py::test_lines_simple[threaded-Separate] FAILED [ 80%]
[2024-06-23T21:27:37.090Z] tests/test_lines.py::test_lines_simple[threaded-SeparateCode] FAILED [ 80%]
[2024-06-23T21:27:37.340Z] tests/test_lines.py::test_lines_simple[threaded-ChunkCombinedCode] FAILED [ 80%]
[2024-06-23T21:27:37.590Z] tests/test_lines.py::test_lines_simple[threaded-ChunkCombinedOffset] FAILED [ 80%]
[2024-06-23T21:27:37.841Z] tests/test_lines.py::test_lines_simple[threaded-ChunkCombinedNan] FAILED [ 80%]
[2024-06-23T21:27:38.091Z] tests/test_lines.py::test_lines_simple_chunk[mpl2005-SeparateCode] FAILED [ 80%]
[2024-06-23T21:27:38.091Z] tests/test_lines.py::test_lines_simple_chunk[mpl2014-SeparateCode] FAILED [ 80%]
[2024-06-23T21:27:38.341Z] tests/test_lines.py::test_lines_simple_chunk[serial-Separate] FAILED [ 80%]
[2024-06-23T21:27:38.592Z] tests/test_lines.py::test_lines_simple_chunk[serial-SeparateCode] FAILED [ 80%]
[2024-06-23T21:27:38.842Z] tests/test_lines.py::test_lines_simple_chunk[serial-ChunkCombinedCode] FAILED [ 80%]
[2024-06-23T21:27:39.092Z] tests/test_lines.py::test_lines_simple_chunk[serial-ChunkCombinedOffset] FAILED [ 80%]
[2024-06-23T21:27:39.342Z] tests/test_lines.py::test_lines_simple_chunk[serial-ChunkCombinedNan] FAILED [ 80%]
[2024-06-23T21:27:39.342Z] tests/test_lines.py::test_lines_simple_chunk[threaded-Separate] FAILED [ 80%]
[2024-06-23T21:27:39.593Z] tests/test_lines.py::test_lines_simple_chunk[threaded-SeparateCode] FAILED [ 81%]
[2024-06-23T21:27:39.843Z] tests/test_lines.py::test_lines_simple_chunk[threaded-ChunkCombinedCode] FAILED [ 81%]
[2024-06-23T21:27:40.093Z] tests/test_lines.py::test_lines_simple_chunk[threaded-ChunkCombinedOffset] FAILED [ 81%]
[2024-06-23T21:27:40.343Z] tests/test_lines.py::test_lines_simple_chunk[threaded-ChunkCombinedNan] FAILED [ 81%]
[2024-06-23T21:27:40.593Z] tests/test_lines.py::test_lines_simple_chunk_threads[2-Separate] FAILED [ 81%]
[2024-06-23T21:27:40.593Z] tests/test_lines.py::test_lines_simple_chunk_threads[2-SeparateCode] FAILED [ 81%]
[2024-06-23T21:27:40.844Z] tests/test_lines.py::test_lines_simple_chunk_threads[2-ChunkCombinedCode] FAILED [ 81%]
[2024-06-23T21:27:41.094Z] tests/test_lines.py::test_lines_simple_chunk_threads[2-ChunkCombinedOffset] FAILED [ 81%]
[2024-06-23T21:27:41.344Z] tests/test_lines.py::test_lines_simple_chunk_threads[2-ChunkCombinedNan] FAILED [ 81%]
[2024-06-23T21:27:41.594Z] tests/test_lines.py::test_lines_simple_chunk_threads[3-Separate] FAILED [ 81%]
[2024-06-23T21:27:41.845Z] tests/test_lines.py::test_lines_simple_chunk_threads[3-SeparateCode] FAILED [ 81%]
[2024-06-23T21:27:41.845Z] tests/test_lines.py::test_lines_simple_chunk_threads[3-ChunkCombinedCode] FAILED [ 81%]
[2024-06-23T21:27:42.095Z] tests/test_lines.py::test_lines_simple_chunk_threads[3-ChunkCombinedOffset] FAILED [ 81%]
[2024-06-23T21:27:42.345Z] tests/test_lines.py::test_lines_simple_chunk_threads[3-ChunkCombinedNan] FAILED [ 81%]
[2024-06-23T21:27:42.595Z] tests/test_lines.py::test_lines_simple_no_corner_mask[mpl2005-SeparateCode] FAILED [ 81%]
[2024-06-23T21:27:42.846Z] tests/test_lines.py::test_lines_simple_no_corner_mask[mpl2014-SeparateCode] FAILED [ 81%]
[2024-06-23T21:27:42.846Z] tests/test_lines.py::test_lines_simple_no_corner_mask[serial-Separate] FAILED [ 81%]
[2024-06-23T21:27:43.096Z] tests/test_lines.py::test_lines_simple_no_corner_mask[serial-SeparateCode] FAILED [ 81%]
[2024-06-23T21:27:43.346Z] tests/test_lines.py::test_lines_simple_no_corner_mask[serial-ChunkCombinedCode] FAILED [ 81%]
[2024-06-23T21:27:43.596Z] tests/test_lines.py::test_lines_simple_no_corner_mask[serial-ChunkCombinedOffset] FAILED [ 81%]
[2024-06-23T21:27:43.847Z] tests/test_lines.py::test_lines_simple_no_corner_mask[serial-ChunkCombinedNan] FAILED [ 81%]
[2024-06-23T21:27:44.097Z] tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-Separate] FAILED [ 81%]
[2024-06-23T21:27:44.097Z] tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-SeparateCode] FAILED [ 81%]
[2024-06-23T21:27:44.347Z] tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-ChunkCombinedCode] FAILED [ 82%]
[2024-06-23T21:27:44.597Z] tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-ChunkCombinedOffset] FAILED [ 82%]
[2024-06-23T21:27:44.848Z] tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-ChunkCombinedNan] FAILED [ 82%]
[2024-06-23T21:27:45.098Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[mpl2005-SeparateCode] FAILED [ 82%]
[2024-06-23T21:27:45.348Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[mpl2014-SeparateCode] FAILED [ 82%]
[2024-06-23T21:27:45.348Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-Separate] FAILED [ 82%]
[2024-06-23T21:27:45.599Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-SeparateCode] FAILED [ 82%]
[2024-06-23T21:27:45.849Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-ChunkCombinedCode] FAILED [ 82%]
[2024-06-23T21:27:46.099Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-ChunkCombinedOffset] FAILED [ 82%]
[2024-06-23T21:27:46.349Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-ChunkCombinedNan] FAILED [ 82%]
[2024-06-23T21:27:46.349Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-Separate] FAILED [ 82%]
[2024-06-23T21:27:46.600Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-SeparateCode] FAILED [ 82%]
[2024-06-23T21:27:46.850Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-ChunkCombinedCode] FAILED [ 82%]
[2024-06-23T21:27:47.100Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-ChunkCombinedOffset] FAILED [ 82%]
[2024-06-23T21:27:47.350Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-ChunkCombinedNan] FAILED [ 82%]
[2024-06-23T21:27:47.600Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-Separate] FAILED [ 82%]
[2024-06-23T21:27:47.600Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-SeparateCode] FAILED [ 82%]
[2024-06-23T21:27:47.851Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED [ 82%]
[2024-06-23T21:27:48.101Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED [ 82%]
[2024-06-23T21:27:48.351Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-ChunkCombinedNan] FAILED [ 82%]
[2024-06-23T21:27:48.602Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-Separate] FAILED [ 82%]
[2024-06-23T21:27:48.602Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-SeparateCode] FAILED [ 82%]
[2024-06-23T21:27:48.852Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED [ 82%]
[2024-06-23T21:27:49.102Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED [ 83%]
[2024-06-23T21:27:49.352Z] tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-ChunkCombinedNan] FAILED [ 83%]
[2024-06-23T21:27:49.603Z] tests/test_lines.py::test_lines_simple_corner_mask[mpl2014] FAILED [ 83%]
[2024-06-23T21:27:49.853Z] tests/test_lines.py::test_lines_simple_corner_mask[serial] FAILED [ 83%]
[2024-06-23T21:27:49.853Z] tests/test_lines.py::test_lines_simple_corner_mask[threaded] FAILED [ 83%]
[2024-06-23T21:27:50.103Z] tests/test_lines.py::test_lines_simple_corner_mask_chunk[mpl2014] FAILED [ 83%]
[2024-06-23T21:27:50.353Z] tests/test_lines.py::test_lines_simple_corner_mask_chunk[serial] FAILED [ 83%]
[2024-06-23T21:27:50.604Z] tests/test_lines.py::test_lines_simple_corner_mask_chunk[threaded] FAILED [ 83%]
[2024-06-23T21:27:50.854Z] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-Separate] FAILED [ 83%]
[2024-06-23T21:27:51.104Z] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-SeparateCode] FAILED [ 83%]
[2024-06-23T21:27:51.104Z] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED [ 83%]
[2024-06-23T21:27:51.355Z] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED [ 83%]
[2024-06-23T21:27:51.605Z] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-ChunkCombinedNan] FAILED [ 83%]
[2024-06-23T21:27:51.855Z] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-Separate] FAILED [ 83%]
[2024-06-23T21:27:52.106Z] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-SeparateCode] FAILED [ 83%]
[2024-06-23T21:27:52.356Z] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED [ 83%]
[2024-06-23T21:27:52.356Z] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED [ 83%]
[2024-06-23T21:27:52.606Z] tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-ChunkCombinedNan] FAILED [ 83%]
[2024-06-23T21:27:52.856Z] tests/test_lines.py::test_lines_simple_quad_as_tri[serial] FAILED [ 83%]
[2024-06-23T21:27:53.107Z] tests/test_lines.py::test_lines_simple_quad_as_tri[threaded] FAILED [ 83%]
[2024-06-23T21:27:53.357Z] tests/test_lines.py::test_lines_random[mpl2005-SeparateCode] FAILED [ 83%]
[2024-06-23T21:27:53.357Z] tests/test_lines.py::test_lines_random[mpl2014-SeparateCode] FAILED [ 83%]
[2024-06-23T21:27:53.607Z] tests/test_lines.py::test_lines_random[serial-Separate] FAILED [ 83%]
[2024-06-23T21:27:53.857Z] tests/test_lines.py::test_lines_random[serial-SeparateCode] FAILED [ 84%]
[2024-06-23T21:27:54.108Z] tests/test_lines.py::test_lines_random[serial-ChunkCombinedCode] FAILED [ 84%]
[2024-06-23T21:27:54.358Z] tests/test_lines.py::test_lines_random[serial-ChunkCombinedOffset] FAILED [ 84%]
[2024-06-23T21:27:54.358Z] tests/test_lines.py::test_lines_random[serial-ChunkCombinedNan] FAILED [ 84%]
[2024-06-23T21:27:54.908Z] tests/test_lines.py::test_lines_random[threaded-Separate] FAILED [ 84%]
[2024-06-23T21:27:54.908Z] tests/test_lines.py::test_lines_random[threaded-SeparateCode] FAILED [ 84%]
[2024-06-23T21:27:55.159Z] tests/test_lines.py::test_lines_random[threaded-ChunkCombinedCode] FAILED [ 84%]
[2024-06-23T21:27:55.409Z] tests/test_lines.py::test_lines_random[threaded-ChunkCombinedOffset] FAILED [ 84%]
[2024-06-23T21:27:55.659Z] tests/test_lines.py::test_lines_random[threaded-ChunkCombinedNan] FAILED [ 84%]
[2024-06-23T21:27:55.659Z] tests/test_lines.py::test_lines_random_chunk[mpl2005-SeparateCode] FAILED [ 84%]
[2024-06-23T21:27:55.910Z] tests/test_lines.py::test_lines_random_chunk[mpl2014-SeparateCode] FAILED [ 84%]
[2024-06-23T21:27:56.160Z] tests/test_lines.py::test_lines_random_chunk[serial-Separate] FAILED [ 84%]
[2024-06-23T21:27:56.410Z] tests/test_lines.py::test_lines_random_chunk[serial-SeparateCode] FAILED [ 84%]
[2024-06-23T21:27:56.660Z] tests/test_lines.py::test_lines_random_chunk[serial-ChunkCombinedCode] FAILED [ 84%]
[2024-06-23T21:27:56.660Z] tests/test_lines.py::test_lines_random_chunk[serial-ChunkCombinedOffset] FAILED [ 84%]
[2024-06-23T21:27:56.911Z] tests/test_lines.py::test_lines_random_chunk[serial-ChunkCombinedNan] FAILED [ 84%]
[2024-06-23T21:27:57.161Z] tests/test_lines.py::test_lines_random_chunk[threaded-Separate] FAILED [ 84%]
[2024-06-23T21:27:57.411Z] tests/test_lines.py::test_lines_random_chunk[threaded-SeparateCode] FAILED [ 84%]
[2024-06-23T21:27:57.662Z] tests/test_lines.py::test_lines_random_chunk[threaded-ChunkCombinedCode] FAILED [ 84%]
[2024-06-23T21:27:57.912Z] tests/test_lines.py::test_lines_random_chunk[threaded-ChunkCombinedOffset] FAILED [ 84%]
[2024-06-23T21:27:57.912Z] tests/test_lines.py::test_lines_random_chunk[threaded-ChunkCombinedNan] FAILED [ 84%]
[2024-06-23T21:27:58.162Z] tests/test_lines.py::test_lines_random_chunk_threads[2-Separate] FAILED [ 84%]
[2024-06-23T21:27:58.412Z] tests/test_lines.py::test_lines_random_chunk_threads[2-SeparateCode] FAILED [ 84%]
[2024-06-23T21:27:58.663Z] tests/test_lines.py::test_lines_random_chunk_threads[2-ChunkCombinedCode] FAILED [ 85%]
[2024-06-23T21:27:58.913Z] tests/test_lines.py::test_lines_random_chunk_threads[2-ChunkCombinedOffset] FAILED [ 85%]
[2024-06-23T21:27:59.163Z] tests/test_lines.py::test_lines_random_chunk_threads[2-ChunkCombinedNan] FAILED [ 85%]
[2024-06-23T21:27:59.163Z] tests/test_lines.py::test_lines_random_chunk_threads[3-Separate] FAILED [ 85%]
[2024-06-23T21:27:59.414Z] tests/test_lines.py::test_lines_random_chunk_threads[3-SeparateCode] FAILED [ 85%]
[2024-06-23T21:27:59.664Z] tests/test_lines.py::test_lines_random_chunk_threads[3-ChunkCombinedCode] FAILED [ 85%]
[2024-06-23T21:27:59.914Z] tests/test_lines.py::test_lines_random_chunk_threads[3-ChunkCombinedOffset] FAILED [ 85%]
[2024-06-23T21:28:00.164Z] tests/test_lines.py::test_lines_random_chunk_threads[3-ChunkCombinedNan] FAILED [ 85%]
[2024-06-23T21:28:00.415Z] tests/test_lines.py::test_lines_random_no_corner_mask[mpl2005-SeparateCode] FAILED [ 85%]
[2024-06-23T21:28:00.415Z] tests/test_lines.py::test_lines_random_no_corner_mask[mpl2014-SeparateCode] FAILED [ 85%]
[2024-06-23T21:28:00.665Z] tests/test_lines.py::test_lines_random_no_corner_mask[serial-Separate] FAILED [ 85%]
[2024-06-23T21:28:00.915Z] tests/test_lines.py::test_lines_random_no_corner_mask[serial-SeparateCode] FAILED [ 85%]
[2024-06-23T21:28:01.166Z] tests/test_lines.py::test_lines_random_no_corner_mask[serial-ChunkCombinedCode] FAILED [ 85%]
[2024-06-23T21:28:01.416Z] tests/test_lines.py::test_lines_random_no_corner_mask[serial-ChunkCombinedOffset] FAILED [ 85%]
[2024-06-23T21:28:01.416Z] tests/test_lines.py::test_lines_random_no_corner_mask[serial-ChunkCombinedNan] FAILED [ 85%]
[2024-06-23T21:28:01.666Z] tests/test_lines.py::test_lines_random_no_corner_mask[threaded-Separate] FAILED [ 85%]
[2024-06-23T21:28:01.916Z] tests/test_lines.py::test_lines_random_no_corner_mask[threaded-SeparateCode] FAILED [ 85%]
[2024-06-23T21:28:02.167Z] tests/test_lines.py::test_lines_random_no_corner_mask[threaded-ChunkCombinedCode] FAILED [ 85%]
[2024-06-23T21:28:02.417Z] tests/test_lines.py::test_lines_random_no_corner_mask[threaded-ChunkCombinedOffset] FAILED [ 85%]
[2024-06-23T21:28:02.667Z] tests/test_lines.py::test_lines_random_no_corner_mask[threaded-ChunkCombinedNan] FAILED [ 85%]
[2024-06-23T21:28:02.667Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[mpl2005-SeparateCode] FAILED [ 85%]
[2024-06-23T21:28:02.918Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[mpl2014-SeparateCode] FAILED [ 85%]
[2024-06-23T21:28:03.168Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-Separate] FAILED [ 85%]
[2024-06-23T21:28:03.418Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-SeparateCode] FAILED [ 86%]
[2024-06-23T21:28:03.669Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-ChunkCombinedCode] FAILED [ 86%]
[2024-06-23T21:28:03.919Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-ChunkCombinedOffset] FAILED [ 86%]
[2024-06-23T21:28:03.919Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-ChunkCombinedNan] FAILED [ 86%]
[2024-06-23T21:28:04.169Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-Separate] FAILED [ 86%]
[2024-06-23T21:28:04.419Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-SeparateCode] FAILED [ 86%]
[2024-06-23T21:28:04.670Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-ChunkCombinedCode] FAILED [ 86%]
[2024-06-23T21:28:04.920Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-ChunkCombinedOffset] FAILED [ 86%]
[2024-06-23T21:28:04.920Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-ChunkCombinedNan] FAILED [ 86%]
[2024-06-23T21:28:05.170Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-Separate] FAILED [ 86%]
[2024-06-23T21:28:05.421Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-SeparateCode] FAILED [ 86%]
[2024-06-23T21:28:05.671Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED [ 86%]
[2024-06-23T21:28:05.921Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED [ 86%]
[2024-06-23T21:28:06.172Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-ChunkCombinedNan] FAILED [ 86%]
[2024-06-23T21:28:06.172Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-Separate] FAILED [ 86%]
[2024-06-23T21:28:06.422Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-SeparateCode] FAILED [ 86%]
[2024-06-23T21:28:06.672Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED [ 86%]
[2024-06-23T21:28:06.923Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED [ 86%]
[2024-06-23T21:28:07.173Z] tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-ChunkCombinedNan] FAILED [ 86%]
[2024-06-23T21:28:07.424Z] tests/test_lines.py::test_lines_random_corner_mask[mpl2014] FAILED [ 86%]
[2024-06-23T21:28:07.424Z] tests/test_lines.py::test_lines_random_corner_mask[serial] FAILED [ 86%]
[2024-06-23T21:28:07.674Z] tests/test_lines.py::test_lines_random_corner_mask[threaded] FAILED [ 86%]
[2024-06-23T21:28:07.924Z] tests/test_lines.py::test_lines_random_corner_mask_chunk[mpl2014] FAILED [ 86%]
[2024-06-23T21:28:08.174Z] tests/test_lines.py::test_lines_random_corner_mask_chunk[serial] FAILED [ 87%]
[2024-06-23T21:28:08.425Z] tests/test_lines.py::test_lines_random_corner_mask_chunk[threaded] FAILED [ 87%]
[2024-06-23T21:28:08.675Z] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-Separate] FAILED [ 87%]
[2024-06-23T21:28:08.675Z] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-SeparateCode] FAILED [ 87%]
[2024-06-23T21:28:08.925Z] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-ChunkCombinedCode] FAILED [ 87%]
[2024-06-23T21:28:09.176Z] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-ChunkCombinedOffset] FAILED [ 87%]
[2024-06-23T21:28:09.426Z] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-ChunkCombinedNan] FAILED [ 87%]
[2024-06-23T21:28:09.676Z] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-Separate] FAILED [ 87%]
[2024-06-23T21:28:09.927Z] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-SeparateCode] FAILED [ 87%]
[2024-06-23T21:28:09.927Z] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-ChunkCombinedCode] FAILED [ 87%]
[2024-06-23T21:28:10.177Z] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-ChunkCombinedOffset] FAILED [ 87%]
[2024-06-23T21:28:10.427Z] tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-ChunkCombinedNan] FAILED [ 87%]
[2024-06-23T21:28:10.678Z] tests/test_lines.py::test_lines_random_quad_as_tri[serial] FAILED [ 87%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_lines_random_quad_as_tri[threaded] FAILED [ 87%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type[serial-Separate] PASSED [ 87%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type[serial-SeparateCode] PASSED [ 87%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type[serial-ChunkCombinedCode] PASSED [ 87%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type[serial-ChunkCombinedOffset] PASSED [ 87%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type[serial-ChunkCombinedNan] PASSED [ 87%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type[threaded-Separate] PASSED [ 87%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type[threaded-SeparateCode] PASSED [ 87%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type[threaded-ChunkCombinedCode] PASSED [ 87%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type[threaded-ChunkCombinedOffset] PASSED [ 87%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type[threaded-ChunkCombinedNan] PASSED [ 87%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type_chunk[serial-1-Separate] PASSED [ 88%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type_chunk[serial-1-SeparateCode] PASSED [ 88%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type_chunk[serial-1-ChunkCombinedCode] PASSED [ 88%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type_chunk[serial-1-ChunkCombinedOffset] PASSED [ 88%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type_chunk[serial-1-ChunkCombinedNan] PASSED [ 88%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type_chunk[threaded-1-Separate] PASSED [ 88%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type_chunk[threaded-1-SeparateCode] PASSED [ 88%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type_chunk[threaded-1-ChunkCombinedCode] PASSED [ 88%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type_chunk[threaded-1-ChunkCombinedOffset] PASSED [ 88%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type_chunk[threaded-1-ChunkCombinedNan] PASSED [ 88%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type_chunk[threaded-2-Separate] PASSED [ 88%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type_chunk[threaded-2-SeparateCode] PASSED [ 88%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type_chunk[threaded-2-ChunkCombinedCode] PASSED [ 88%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type_chunk[threaded-2-ChunkCombinedOffset] PASSED [ 88%]
[2024-06-23T21:28:10.928Z] tests/test_lines.py::test_return_by_line_type_chunk[threaded-2-ChunkCombinedNan] PASSED [ 88%]
[2024-06-23T21:28:20.803Z] tests/test_lines.py::test_lines_random_big[None-mpl2005-SeparateCode] PASSED [ 88%]
[2024-06-23T21:28:27.283Z] tests/test_lines.py::test_lines_random_big[None-mpl2014-SeparateCode] PASSED [ 88%]
[2024-06-23T21:28:33.763Z] tests/test_lines.py::test_lines_random_big[None-serial-Separate] PASSED [ 88%]
[2024-06-23T21:28:41.787Z] tests/test_lines.py::test_lines_random_big[None-serial-SeparateCode] PASSED [ 88%]
[2024-06-23T21:28:42.037Z] tests/test_lines.py::test_lines_random_big[None-serial-ChunkCombinedCode] PASSED [ 88%]
[2024-06-23T21:28:42.587Z] tests/test_lines.py::test_lines_random_big[None-serial-ChunkCombinedOffset] PASSED [ 88%]
[2024-06-23T21:28:43.138Z] tests/test_lines.py::test_lines_random_big[None-serial-ChunkCombinedNan] PASSED [ 88%]
[2024-06-23T21:28:49.618Z] tests/test_lines.py::test_lines_random_big[None-threaded-Separate] PASSED [ 88%]
[2024-06-23T21:28:57.642Z] tests/test_lines.py::test_lines_random_big[None-threaded-SeparateCode] PASSED [ 89%]
[2024-06-23T21:28:58.192Z] tests/test_lines.py::test_lines_random_big[None-threaded-ChunkCombinedCode] PASSED [ 89%]
[2024-06-23T21:28:58.742Z] tests/test_lines.py::test_lines_random_big[None-threaded-ChunkCombinedOffset] PASSED [ 89%]
[2024-06-23T21:28:59.293Z] tests/test_lines.py::test_lines_random_big[None-threaded-ChunkCombinedNan] PASSED [ 89%]
[2024-06-23T21:29:09.167Z] tests/test_lines.py::test_lines_random_big[False-mpl2005-SeparateCode] PASSED [ 89%]
[2024-06-23T21:29:19.042Z] tests/test_lines.py::test_lines_random_big[False-mpl2014-SeparateCode] PASSED [ 89%]
[2024-06-23T21:29:25.522Z] tests/test_lines.py::test_lines_random_big[False-serial-Separate] PASSED [ 89%]
[2024-06-23T21:29:35.397Z] tests/test_lines.py::test_lines_random_big[False-serial-SeparateCode] PASSED [ 89%]
[2024-06-23T21:29:35.397Z] tests/test_lines.py::test_lines_random_big[False-serial-ChunkCombinedCode] PASSED [ 89%]
[2024-06-23T21:29:35.947Z] tests/test_lines.py::test_lines_random_big[False-serial-ChunkCombinedOffset] PASSED [ 89%]
[2024-06-23T21:29:36.498Z] tests/test_lines.py::test_lines_random_big[False-serial-ChunkCombinedNan] PASSED [ 89%]
[2024-06-23T21:29:44.521Z] tests/test_lines.py::test_lines_random_big[False-threaded-Separate] PASSED [ 89%]
[2024-06-23T21:29:54.396Z] tests/test_lines.py::test_lines_random_big[False-threaded-SeparateCode] PASSED [ 89%]
[2024-06-23T21:29:54.396Z] tests/test_lines.py::test_lines_random_big[False-threaded-ChunkCombinedCode] PASSED [ 89%]
[2024-06-23T21:29:54.396Z] tests/test_lines.py::test_lines_random_big[False-threaded-ChunkCombinedOffset] PASSED [ 89%]
[2024-06-23T21:29:54.947Z] tests/test_lines.py::test_lines_random_big[False-threaded-ChunkCombinedNan] PASSED [ 89%]
[2024-06-23T21:29:54.947Z] tests/test_lines.py::test_lines_random_big[True-mpl2005-SeparateCode] SKIPPED [ 89%]
[2024-06-23T21:29:54.947Z] tests/test_lines.py::test_lines_random_big[True-mpl2014-SeparateCode] SKIPPED [ 89%]
[2024-06-23T21:30:02.971Z] tests/test_lines.py::test_lines_random_big[True-serial-Separate] PASSED [ 89%]
[2024-06-23T21:30:10.995Z] tests/test_lines.py::test_lines_random_big[True-serial-SeparateCode] PASSED [ 89%]
[2024-06-23T21:30:10.995Z] tests/test_lines.py::test_lines_random_big[True-serial-ChunkCombinedCode] PASSED [ 89%]
[2024-06-23T21:30:11.245Z] tests/test_lines.py::test_lines_random_big[True-serial-ChunkCombinedOffset] PASSED [ 89%]
[2024-06-23T21:30:12.156Z] tests/test_lines.py::test_lines_random_big[True-serial-ChunkCombinedNan] PASSED [ 89%]
[2024-06-23T21:30:18.636Z] tests/test_lines.py::test_lines_random_big[True-threaded-Separate] PASSED [ 90%]
[2024-06-23T21:30:28.511Z] tests/test_lines.py::test_lines_random_big[True-threaded-SeparateCode] PASSED [ 90%]
[2024-06-23T21:30:28.511Z] tests/test_lines.py::test_lines_random_big[True-threaded-ChunkCombinedCode] PASSED [ 90%]
[2024-06-23T21:30:28.511Z] tests/test_lines.py::test_lines_random_big[True-threaded-ChunkCombinedOffset] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_random_big[True-threaded-ChunkCombinedNan] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[0.0-nan0-mpl2005] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[0.0-nan0-mpl2014] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[0.0-nan0-serial] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[0.0-nan0-threaded] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[0.0-nan1-mpl2005] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[0.0-nan1-mpl2014] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[0.0-nan1-serial] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[0.0-nan1-threaded] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[0.0-inf-mpl2005] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[0.0-inf-mpl2014] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[0.0-inf-serial] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[0.0-inf-threaded] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[0.0--inf-mpl2005] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[0.0--inf-mpl2014] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[0.0--inf-serial] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[0.0--inf-threaded] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan0-nan0-mpl2005] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan0-nan0-mpl2014] PASSED [ 90%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan0-nan0-serial] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan0-nan0-threaded] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan0-nan1-mpl2005] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan0-nan1-mpl2014] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan0-nan1-serial] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan0-nan1-threaded] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan0-inf-mpl2005] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan0-inf-mpl2014] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan0-inf-serial] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan0-inf-threaded] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan0--inf-mpl2005] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan0--inf-mpl2014] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan0--inf-serial] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan0--inf-threaded] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan1-nan0-mpl2005] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan1-nan0-mpl2014] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan1-nan0-serial] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan1-nan0-threaded] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan1-nan1-mpl2005] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan1-nan1-mpl2014] PASSED [ 91%]
[2024-06-23T21:30:29.061Z] tests/test_lines.py::test_lines_z_nonfinite[nan1-nan1-serial] PASSED [ 91%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[nan1-nan1-threaded] PASSED [ 91%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[nan1-inf-mpl2005] PASSED [ 91%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[nan1-inf-mpl2014] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[nan1-inf-serial] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[nan1-inf-threaded] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[nan1--inf-mpl2005] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[nan1--inf-mpl2014] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[nan1--inf-serial] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[nan1--inf-threaded] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[inf-nan0-mpl2005] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[inf-nan0-mpl2014] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[inf-nan0-serial] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[inf-nan0-threaded] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[inf-nan1-mpl2005] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[inf-nan1-mpl2014] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[inf-nan1-serial] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[inf-nan1-threaded] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[inf-inf-mpl2005] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[inf-inf-mpl2014] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[inf-inf-serial] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[inf-inf-threaded] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[inf--inf-mpl2005] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[inf--inf-mpl2014] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[inf--inf-serial] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[inf--inf-threaded] PASSED [ 92%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[-inf-nan0-mpl2005] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[-inf-nan0-mpl2014] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[-inf-nan0-serial] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[-inf-nan0-threaded] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[-inf-nan1-mpl2005] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[-inf-nan1-mpl2014] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[-inf-nan1-serial] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[-inf-nan1-threaded] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[-inf-inf-mpl2005] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[-inf-inf-mpl2014] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[-inf-inf-serial] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[-inf-inf-threaded] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[-inf--inf-mpl2005] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[-inf--inf-mpl2014] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[-inf--inf-serial] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_z_nonfinite[-inf--inf-threaded] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_infinite_level[mpl2005] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_infinite_level[mpl2014] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_infinite_level[serial] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_lines.py::test_lines_infinite_level[threaded] PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_misc.py::test_nan PASSED [ 93%]
[2024-06-23T21:30:29.062Z] tests/test_misc.py::test_remove_z_mask PASSED [ 93%]
[2024-06-23T21:30:29.312Z] tests/test_renderer.py::test_debug_renderer_filled[OuterCode0-False] FAILED [ 93%]
[2024-06-23T21:30:29.312Z] tests/test_renderer.py::test_debug_renderer_filled[OuterCode0-True] SKIPPED [ 94%]
[2024-06-23T21:30:29.312Z] tests/test_renderer.py::test_debug_renderer_filled[OuterOffset-False] FAILED [ 94%]
[2024-06-23T21:30:29.312Z] tests/test_renderer.py::test_debug_renderer_filled[OuterOffset-True] SKIPPED [ 94%]
[2024-06-23T21:30:29.562Z] tests/test_renderer.py::test_debug_renderer_filled[ChunkCombinedCode-False] FAILED [ 94%]
[2024-06-23T21:30:29.562Z] tests/test_renderer.py::test_debug_renderer_filled[ChunkCombinedCode-True] SKIPPED [ 94%]
[2024-06-23T21:30:29.813Z] tests/test_renderer.py::test_debug_renderer_filled[ChunkCombinedOffset-False] FAILED [ 94%]
[2024-06-23T21:30:29.813Z] tests/test_renderer.py::test_debug_renderer_filled[ChunkCombinedOffset-True] SKIPPED [ 94%]
[2024-06-23T21:30:30.063Z] tests/test_renderer.py::test_debug_renderer_filled[ChunkCombinedCodeOffset-False] FAILED [ 94%]
[2024-06-23T21:30:30.063Z] tests/test_renderer.py::test_debug_renderer_filled[ChunkCombinedCodeOffset-True] SKIPPED [ 94%]
[2024-06-23T21:30:30.063Z] tests/test_renderer.py::test_debug_renderer_filled[ChunkCombinedOffsetOffset-False] FAILED [ 94%]
[2024-06-23T21:30:30.063Z] tests/test_renderer.py::test_debug_renderer_filled[ChunkCombinedOffsetOffset-True] SKIPPED [ 94%]
[2024-06-23T21:30:30.313Z] tests/test_renderer.py::test_debug_renderer_filled[OuterCode1-False] FAILED [ 94%]
[2024-06-23T21:30:30.313Z] tests/test_renderer.py::test_debug_renderer_filled[OuterCode1-True] SKIPPED [ 94%]
[2024-06-23T21:30:30.564Z] tests/test_renderer.py::test_debug_renderer_lines[Separate0-False] FAILED [ 94%]
[2024-06-23T21:30:30.564Z] tests/test_renderer.py::test_debug_renderer_lines[Separate0-True] SKIPPED [ 94%]
[2024-06-23T21:30:30.814Z] tests/test_renderer.py::test_debug_renderer_lines[SeparateCode-False] FAILED [ 94%]
[2024-06-23T21:30:30.814Z] tests/test_renderer.py::test_debug_renderer_lines[SeparateCode-True] SKIPPED [ 94%]
[2024-06-23T21:30:30.814Z] tests/test_renderer.py::test_debug_renderer_lines[ChunkCombinedCode-False] FAILED [ 94%]
[2024-06-23T21:30:30.814Z] tests/test_renderer.py::test_debug_renderer_lines[ChunkCombinedCode-True] SKIPPED [ 94%]
[2024-06-23T21:30:31.064Z] tests/test_renderer.py::test_debug_renderer_lines[ChunkCombinedOffset-False] FAILED [ 94%]
[2024-06-23T21:30:31.064Z] tests/test_renderer.py::test_debug_renderer_lines[ChunkCombinedOffset-True] SKIPPED [ 94%]
[2024-06-23T21:30:31.314Z] tests/test_renderer.py::test_debug_renderer_lines[ChunkCombinedNan-False] FAILED [ 94%]
[2024-06-23T21:30:31.314Z] tests/test_renderer.py::test_debug_renderer_lines[ChunkCombinedNan-True] SKIPPED [ 94%]
[2024-06-23T21:30:31.565Z] tests/test_renderer.py::test_debug_renderer_lines[Separate1-False] FAILED [ 95%]
[2024-06-23T21:30:31.565Z] tests/test_renderer.py::test_debug_renderer_lines[Separate1-True] SKIPPED [ 95%]
[2024-06-23T21:30:31.815Z] tests/test_renderer.py::test_renderer_filled[OuterCode0-False-False] FAILED [ 95%]
[2024-06-23T21:30:31.815Z] tests/test_renderer.py::test_renderer_filled[OuterCode0-False-True] SKIPPED [ 95%]
[2024-06-23T21:30:31.815Z] tests/test_renderer.py::test_renderer_filled[OuterCode0-True-False] FAILED [ 95%]
[2024-06-23T21:30:31.815Z] tests/test_renderer.py::test_renderer_filled[OuterCode0-True-True] SKIPPED [ 95%]
[2024-06-23T21:30:32.065Z] tests/test_renderer.py::test_renderer_filled[OuterOffset-False-False] FAILED [ 95%]
[2024-06-23T21:30:32.065Z] tests/test_renderer.py::test_renderer_filled[OuterOffset-False-True] SKIPPED [ 95%]
[2024-06-23T21:30:32.315Z] tests/test_renderer.py::test_renderer_filled[OuterOffset-True-False] FAILED [ 95%]
[2024-06-23T21:30:32.315Z] tests/test_renderer.py::test_renderer_filled[OuterOffset-True-True] SKIPPED [ 95%]
[2024-06-23T21:30:32.566Z] tests/test_renderer.py::test_renderer_filled[ChunkCombinedCode-False-False] FAILED [ 95%]
[2024-06-23T21:30:32.566Z] tests/test_renderer.py::test_renderer_filled[ChunkCombinedCode-False-True] SKIPPED [ 95%]
[2024-06-23T21:30:32.566Z] tests/test_renderer.py::test_renderer_filled[ChunkCombinedCode-True-False] FAILED [ 95%]
[2024-06-23T21:30:32.566Z] tests/test_renderer.py::test_renderer_filled[ChunkCombinedCode-True-True] SKIPPED [ 95%]
[2024-06-23T21:30:32.816Z] tests/test_renderer.py::test_renderer_filled[ChunkCombinedOffset-False-False] FAILED [ 95%]
[2024-06-23T21:30:32.816Z] tests/test_renderer.py::test_renderer_filled[ChunkCombinedOffset-False-True] SKIPPED [ 95%]
[2024-06-23T21:30:33.066Z] tests/test_renderer.py::test_renderer_filled[ChunkCombinedOffset-True-False] FAILED [ 95%]
[2024-06-23T21:30:33.066Z] tests/test_renderer.py::test_renderer_filled[ChunkCombinedOffset-True-True] SKIPPED [ 95%]
[2024-06-23T21:30:33.316Z] tests/test_renderer.py::test_renderer_filled[ChunkCombinedCodeOffset-False-False] FAILED [ 95%]
[2024-06-23T21:30:33.316Z] tests/test_renderer.py::test_renderer_filled[ChunkCombinedCodeOffset-False-True] SKIPPED [ 95%]
[2024-06-23T21:30:33.316Z] tests/test_renderer.py::test_renderer_filled[ChunkCombinedCodeOffset-True-False] FAILED [ 95%]
[2024-06-23T21:30:33.316Z] tests/test_renderer.py::test_renderer_filled[ChunkCombinedCodeOffset-True-True] SKIPPED [ 95%]
[2024-06-23T21:30:33.567Z] tests/test_renderer.py::test_renderer_filled[ChunkCombinedOffsetOffset-False-False] FAILED [ 95%]
[2024-06-23T21:30:33.567Z] tests/test_renderer.py::test_renderer_filled[ChunkCombinedOffsetOffset-False-True] SKIPPED [ 96%]
[2024-06-23T21:30:33.817Z] tests/test_renderer.py::test_renderer_filled[ChunkCombinedOffsetOffset-True-False] FAILED [ 96%]
[2024-06-23T21:30:33.817Z] tests/test_renderer.py::test_renderer_filled[ChunkCombinedOffsetOffset-True-True] SKIPPED [ 96%]
[2024-06-23T21:30:34.067Z] tests/test_renderer.py::test_renderer_filled[OuterCode1-False-False] FAILED [ 96%]
[2024-06-23T21:30:34.067Z] tests/test_renderer.py::test_renderer_filled[OuterCode1-False-True] SKIPPED [ 96%]
[2024-06-23T21:30:34.317Z] tests/test_renderer.py::test_renderer_filled[OuterCode1-True-False] FAILED [ 96%]
[2024-06-23T21:30:34.317Z] tests/test_renderer.py::test_renderer_filled[OuterCode1-True-True] SKIPPED [ 96%]
[2024-06-23T21:30:34.317Z] tests/test_renderer.py::test_renderer_lines[Separate0-False-False] FAILED [ 96%]
[2024-06-23T21:30:34.317Z] tests/test_renderer.py::test_renderer_lines[Separate0-False-True] SKIPPED [ 96%]
[2024-06-23T21:30:34.568Z] tests/test_renderer.py::test_renderer_lines[Separate0-True-False] FAILED [ 96%]
[2024-06-23T21:30:34.568Z] tests/test_renderer.py::test_renderer_lines[Separate0-True-True] SKIPPED [ 96%]
[2024-06-23T21:30:34.818Z] tests/test_renderer.py::test_renderer_lines[SeparateCode-False-False] FAILED [ 96%]
[2024-06-23T21:30:34.818Z] tests/test_renderer.py::test_renderer_lines[SeparateCode-False-True] SKIPPED [ 96%]
[2024-06-23T21:30:35.068Z] tests/test_renderer.py::test_renderer_lines[SeparateCode-True-False] FAILED [ 96%]
[2024-06-23T21:30:35.068Z] tests/test_renderer.py::test_renderer_lines[SeparateCode-True-True] SKIPPED [ 96%]
[2024-06-23T21:30:35.068Z] tests/test_renderer.py::test_renderer_lines[ChunkCombinedCode-False-False] FAILED [ 96%]
[2024-06-23T21:30:35.068Z] tests/test_renderer.py::test_renderer_lines[ChunkCombinedCode-False-True] SKIPPED [ 96%]
[2024-06-23T21:30:35.318Z] tests/test_renderer.py::test_renderer_lines[ChunkCombinedCode-True-False] FAILED [ 96%]
[2024-06-23T21:30:35.318Z] tests/test_renderer.py::test_renderer_lines[ChunkCombinedCode-True-True] SKIPPED [ 96%]
[2024-06-23T21:30:35.569Z] tests/test_renderer.py::test_renderer_lines[ChunkCombinedOffset-False-False] FAILED [ 96%]
[2024-06-23T21:30:35.569Z] tests/test_renderer.py::test_renderer_lines[ChunkCombinedOffset-False-True] SKIPPED [ 96%]
[2024-06-23T21:30:35.819Z] tests/test_renderer.py::test_renderer_lines[ChunkCombinedOffset-True-False] FAILED [ 96%]
[2024-06-23T21:30:35.819Z] tests/test_renderer.py::test_renderer_lines[ChunkCombinedOffset-True-True] SKIPPED [ 96%]
[2024-06-23T21:30:35.819Z] tests/test_renderer.py::test_renderer_lines[ChunkCombinedNan-False-False] FAILED [ 97%]
[2024-06-23T21:30:35.819Z] tests/test_renderer.py::test_renderer_lines[ChunkCombinedNan-False-True] SKIPPED [ 97%]
[2024-06-23T21:30:36.069Z] tests/test_renderer.py::test_renderer_lines[ChunkCombinedNan-True-False] FAILED [ 97%]
[2024-06-23T21:30:36.069Z] tests/test_renderer.py::test_renderer_lines[ChunkCombinedNan-True-True] SKIPPED [ 97%]
[2024-06-23T21:30:36.320Z] tests/test_renderer.py::test_renderer_lines[Separate1-False-False] FAILED [ 97%]
[2024-06-23T21:30:36.320Z] tests/test_renderer.py::test_renderer_lines[Separate1-False-True] SKIPPED [ 97%]
[2024-06-23T21:30:36.570Z] tests/test_renderer.py::test_renderer_lines[Separate1-True-False] FAILED [ 97%]
[2024-06-23T21:30:36.570Z] tests/test_renderer.py::test_renderer_lines[Separate1-True-True] SKIPPED [ 97%]
[2024-06-23T21:30:36.820Z] tests/test_renderer.py::test_save_png[False] FAILED [ 97%]
[2024-06-23T21:30:36.820Z] tests/test_renderer.py::test_save_png[True] FAILED [ 97%]
[2024-06-23T21:30:37.070Z] tests/test_renderer.py::test_save_svg[False] FAILED [ 97%]
[2024-06-23T21:30:37.321Z] tests/test_renderer.py::test_save_svg[True] FAILED [ 97%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_default_fill_type[Mpl2005ContourGenerator] PASSED [ 97%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_default_fill_type[Mpl2014ContourGenerator] PASSED [ 97%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_default_fill_type[SerialContourGenerator] PASSED [ 97%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_default_fill_type[ThreadedContourGenerator] PASSED [ 97%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_default_line_type[Mpl2005ContourGenerator] PASSED [ 97%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_default_line_type[Mpl2014ContourGenerator] PASSED [ 97%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_default_line_type[SerialContourGenerator] PASSED [ 97%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_default_line_type[ThreadedContourGenerator] PASSED [ 97%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_has_lines_and_filled[Mpl2005ContourGenerator] PASSED [ 97%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_has_lines_and_filled[Mpl2014ContourGenerator] PASSED [ 97%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_has_lines_and_filled[SerialContourGenerator] PASSED [ 97%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_has_lines_and_filled[ThreadedContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_corner_mask[Mpl2005ContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_corner_mask[Mpl2014ContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_corner_mask[SerialContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_corner_mask[ThreadedContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_fill_type[Mpl2005ContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_fill_type[Mpl2014ContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_fill_type[SerialContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_fill_type[ThreadedContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_line_type[Mpl2005ContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_line_type[Mpl2014ContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_line_type[SerialContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_line_type[ThreadedContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_quad_as_tri[Mpl2005ContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_quad_as_tri[Mpl2014ContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_quad_as_tri[SerialContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_quad_as_tri[ThreadedContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_threads[Mpl2005ContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_threads[Mpl2014ContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_threads[SerialContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_threads[ThreadedContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_z_interp[Mpl2005ContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_z_interp[Mpl2014ContourGenerator] PASSED [ 98%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_z_interp[SerialContourGenerator] PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_static.py::test_supports_z_interp[ThreadedContourGenerator] PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_typecheck.py::test_check_code_array PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_typecheck.py::test_check_offset_array PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_typecheck.py::test_check_point_array PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_typecheck.py::test_check_filled_OuterCode PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_typecheck.py::test_check_filled_OuterOffset PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_typecheck.py::test_check_filled_ChunkCombinedCode PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_typecheck.py::test_check_filled_ChunkCombinedOffset PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_typecheck.py::test_check_filled_ChunkCombinedCodeOffset PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_typecheck.py::test_check_filled_ChunkCombinedOffsetOffset PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_typecheck.py::test_check_lines_Separate PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_typecheck.py::test_check_lines_SeparateCode PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_typecheck.py::test_check_lines_ChunkCombinedCode PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_typecheck.py::test_check_lines_ChunkCombinedOffset PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_typecheck.py::test_check_lines_ChunkCombinedNan PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_z_interp.py::test_z_interp_log[False-serial] PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_z_interp.py::test_z_interp_log[False-threaded] PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_z_interp.py::test_z_interp_log[True-serial] PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_z_interp.py::test_z_interp_log[True-threaded] PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_z_interp.py::test_z_interp_log_saddle[serial] PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_z_interp.py::test_z_interp_log_saddle[threaded] PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_z_interp.py::test_z_interp_negative[serial] PASSED [ 99%]
[2024-06-23T21:30:37.321Z] tests/test_z_interp.py::test_z_interp_negative[threaded] PASSED [100%]
[2024-06-23T21:30:37.321Z]
[2024-06-23T21:30:37.321Z] =================================== FAILURES ===================================
[2024-06-23T21:30:37.321Z] ______________________ test_config_filled[mpl2005-False] _______________________
[2024-06-23T21:30:37.321Z]
[2024-06-23T21:30:37.321Z] show_text = False, name = 'mpl2005'
[2024-06-23T21:30:37.321Z]
[2024-06-23T21:30:37.321Z] @pytest.mark.image
[2024-06-23T21:30:37.321Z] @pytest.mark.text
[2024-06-23T21:30:37.321Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:37.321Z] @pytest.mark.parametrize("name", util_test.all_names())
[2024-06-23T21:30:37.321Z] def test_config_filled(show_text: bool, name: str) -> None:
[2024-06-23T21:30:37.321Z] > from . import util_config
[2024-06-23T21:30:37.321Z]
[2024-06-23T21:30:37.321Z] tests/test_config.py:26:
[2024-06-23T21:30:37.321Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.321Z] tests/util_config.py:8: in <module>
[2024-06-23T21:30:37.321Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.321Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.321Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.321Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.321Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.321Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.321Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.321Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.321Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.321Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.321Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.321Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.321Z]
[2024-06-23T21:30:37.321Z] """
[2024-06-23T21:30:37.321Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.321Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.321Z] elements drawn on the canvas.
[2024-06-23T21:30:37.321Z]
[2024-06-23T21:30:37.321Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.321Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.321Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.321Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.321Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.322Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.322Z] interactive performance.
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.322Z] to the graph:
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.322Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.322Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.322Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.322Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.322Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.322Z] themselves.
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.322Z] of how to use transforms.
[2024-06-23T21:30:37.322Z] """
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.322Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.322Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] import copy
[2024-06-23T21:30:37.322Z] import functools
[2024-06-23T21:30:37.322Z] import textwrap
[2024-06-23T21:30:37.322Z] import weakref
[2024-06-23T21:30:37.322Z] import math
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] import numpy as np
[2024-06-23T21:30:37.322Z] from numpy.linalg import inv
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] from matplotlib import _api
[2024-06-23T21:30:37.322Z] > from matplotlib._path import (
[2024-06-23T21:30:37.322Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.322Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.322Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.322Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.322Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.322Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.322Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.322Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.322Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.322Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.322Z] code = main()
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.322Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.322Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.322Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.322Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.322Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.322Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.322Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.322Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.322Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.322Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.322Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.322Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.322Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.322Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.322Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.322Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.322Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.322Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.322Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.322Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.322Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.322Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.322Z] item.runtest()
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.322Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.322Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.322Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.322Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.322Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.322Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_config.py", line 26, in test_config_filled
[2024-06-23T21:30:37.322Z] from . import util_config
[2024-06-23T21:30:37.322Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/util_config.py", line 8, in <module>
[2024-06-23T21:30:37.322Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.322Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.322Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.322Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.322Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.322Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.322Z] from matplotlib._path import (
[2024-06-23T21:30:37.322Z] Traceback (most recent call last):
[2024-06-23T21:30:37.322Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.322Z] raise ImportError(msg)
[2024-06-23T21:30:37.322Z] ImportError:
[2024-06-23T21:30:37.322Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.322Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.322Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.322Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.322Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.322Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] ______________________ test_config_filled[mpl2014-False] _______________________
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] show_text = False, name = 'mpl2014'
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] @pytest.mark.image
[2024-06-23T21:30:37.322Z] @pytest.mark.text
[2024-06-23T21:30:37.322Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:37.322Z] @pytest.mark.parametrize("name", util_test.all_names())
[2024-06-23T21:30:37.322Z] def test_config_filled(show_text: bool, name: str) -> None:
[2024-06-23T21:30:37.322Z] > from . import util_config
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] tests/test_config.py:26:
[2024-06-23T21:30:37.322Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.322Z] tests/util_config.py:8: in <module>
[2024-06-23T21:30:37.322Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.322Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.322Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.322Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.322Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.322Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.322Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.322Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.322Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.322Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.322Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.322Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] """
[2024-06-23T21:30:37.322Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.322Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.322Z] elements drawn on the canvas.
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.322Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.322Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.322Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.322Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.322Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.322Z] interactive performance.
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.322Z] to the graph:
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.322Z]
[2024-06-23T21:30:37.322Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.322Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.322Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.322Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.322Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.322Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.323Z] themselves.
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.323Z] of how to use transforms.
[2024-06-23T21:30:37.323Z] """
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.323Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.323Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] import copy
[2024-06-23T21:30:37.323Z] import functools
[2024-06-23T21:30:37.323Z] import textwrap
[2024-06-23T21:30:37.323Z] import weakref
[2024-06-23T21:30:37.323Z] import math
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] import numpy as np
[2024-06-23T21:30:37.323Z] from numpy.linalg import inv
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] from matplotlib import _api
[2024-06-23T21:30:37.323Z] > from matplotlib._path import (
[2024-06-23T21:30:37.323Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.323Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.323Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.323Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.323Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.323Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.323Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.323Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.323Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.323Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.323Z] code = main()
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.323Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.323Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.323Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.323Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.323Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.323Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.323Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.323Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.323Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.323Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.323Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.323Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.323Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.323Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.323Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.323Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.323Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.323Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.323Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.323Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.323Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.323Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.323Z] item.runtest()
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.323Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.323Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.323Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.323Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.323Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.323Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_config.py", line 26, in test_config_filled
[2024-06-23T21:30:37.323Z] from . import util_config
[2024-06-23T21:30:37.323Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/util_config.py", line 8, in <module>
[2024-06-23T21:30:37.323Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.323Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.323Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.323Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.323Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.323Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.323Z] from matplotlib._path import (
[2024-06-23T21:30:37.323Z] Traceback (most recent call last):
[2024-06-23T21:30:37.323Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.323Z] raise ImportError(msg)
[2024-06-23T21:30:37.323Z] ImportError:
[2024-06-23T21:30:37.323Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.323Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.323Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.323Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.323Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.323Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] _______________________ test_config_filled[serial-False] _______________________
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] show_text = False, name = 'serial'
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] @pytest.mark.image
[2024-06-23T21:30:37.323Z] @pytest.mark.text
[2024-06-23T21:30:37.323Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:37.323Z] @pytest.mark.parametrize("name", util_test.all_names())
[2024-06-23T21:30:37.323Z] def test_config_filled(show_text: bool, name: str) -> None:
[2024-06-23T21:30:37.323Z] > from . import util_config
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] tests/test_config.py:26:
[2024-06-23T21:30:37.323Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.323Z] tests/util_config.py:8: in <module>
[2024-06-23T21:30:37.323Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.323Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.323Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.323Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.323Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.323Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.323Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.323Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.323Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.323Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.323Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.323Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] """
[2024-06-23T21:30:37.323Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.323Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.323Z] elements drawn on the canvas.
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.323Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.323Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.323Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.323Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.323Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.323Z] interactive performance.
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.323Z] to the graph:
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.323Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.323Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.323Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.323Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.323Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.323Z] themselves.
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.323Z] of how to use transforms.
[2024-06-23T21:30:37.323Z] """
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.323Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.323Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.323Z]
[2024-06-23T21:30:37.323Z] import copy
[2024-06-23T21:30:37.323Z] import functools
[2024-06-23T21:30:37.323Z] import textwrap
[2024-06-23T21:30:37.324Z] import weakref
[2024-06-23T21:30:37.324Z] import math
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] import numpy as np
[2024-06-23T21:30:37.324Z] from numpy.linalg import inv
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] from matplotlib import _api
[2024-06-23T21:30:37.324Z] > from matplotlib._path import (
[2024-06-23T21:30:37.324Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.324Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.324Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.324Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.324Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.324Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.324Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.324Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.324Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.324Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.324Z] code = main()
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.324Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.324Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.324Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.324Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.324Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.324Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.324Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.324Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.324Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.324Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.324Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.324Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.324Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.324Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.324Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.324Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.324Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.324Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.324Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.324Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.324Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.324Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.324Z] item.runtest()
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.324Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.324Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.324Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.324Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.324Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.324Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_config.py", line 26, in test_config_filled
[2024-06-23T21:30:37.324Z] from . import util_config
[2024-06-23T21:30:37.324Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/util_config.py", line 8, in <module>
[2024-06-23T21:30:37.324Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.324Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.324Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.324Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.324Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.324Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.324Z] from matplotlib._path import (
[2024-06-23T21:30:37.324Z] Traceback (most recent call last):
[2024-06-23T21:30:37.324Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.324Z] raise ImportError(msg)
[2024-06-23T21:30:37.324Z] ImportError:
[2024-06-23T21:30:37.324Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.324Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.324Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.324Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.324Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.324Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] ______________________ test_config_filled[threaded-False] ______________________
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] show_text = False, name = 'threaded'
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] @pytest.mark.image
[2024-06-23T21:30:37.324Z] @pytest.mark.text
[2024-06-23T21:30:37.324Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:37.324Z] @pytest.mark.parametrize("name", util_test.all_names())
[2024-06-23T21:30:37.324Z] def test_config_filled(show_text: bool, name: str) -> None:
[2024-06-23T21:30:37.324Z] > from . import util_config
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] tests/test_config.py:26:
[2024-06-23T21:30:37.324Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.324Z] tests/util_config.py:8: in <module>
[2024-06-23T21:30:37.324Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.324Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.324Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.324Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.324Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.324Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.324Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.324Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.324Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.324Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.324Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.324Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] """
[2024-06-23T21:30:37.324Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.324Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.324Z] elements drawn on the canvas.
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.324Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.324Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.324Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.324Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.324Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.324Z] interactive performance.
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.324Z] to the graph:
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.324Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.324Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.324Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.324Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.324Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.324Z] themselves.
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.324Z] of how to use transforms.
[2024-06-23T21:30:37.324Z] """
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.324Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.324Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] import copy
[2024-06-23T21:30:37.324Z] import functools
[2024-06-23T21:30:37.324Z] import textwrap
[2024-06-23T21:30:37.324Z] import weakref
[2024-06-23T21:30:37.324Z] import math
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] import numpy as np
[2024-06-23T21:30:37.324Z] from numpy.linalg import inv
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] from matplotlib import _api
[2024-06-23T21:30:37.324Z] > from matplotlib._path import (
[2024-06-23T21:30:37.324Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.324Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.324Z]
[2024-06-23T21:30:37.324Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.325Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.325Z]
[2024-06-23T21:30:37.325Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.325Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.325Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.325Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.325Z]
[2024-06-23T21:30:37.325Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.325Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.325Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.325Z]
[2024-06-23T21:30:37.325Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.325Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.325Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.325Z] code = main()
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.325Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.325Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.325Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.325Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.325Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.325Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.325Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.325Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.325Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.325Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.325Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.325Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.325Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.325Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.325Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.325Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.325Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.325Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.325Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.325Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.325Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.325Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.325Z] item.runtest()
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.325Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.325Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.325Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.325Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.325Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.325Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_config.py", line 26, in test_config_filled
[2024-06-23T21:30:37.325Z] from . import util_config
[2024-06-23T21:30:37.325Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/util_config.py", line 8, in <module>
[2024-06-23T21:30:37.325Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.325Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.325Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.325Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.325Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.325Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.325Z] from matplotlib._path import (
[2024-06-23T21:30:37.325Z] Traceback (most recent call last):
[2024-06-23T21:30:37.325Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.325Z] raise ImportError(msg)
[2024-06-23T21:30:37.325Z] ImportError:
[2024-06-23T21:30:37.325Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.325Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.325Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.325Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.325Z]
[2024-06-23T21:30:37.325Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.325Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.325Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.325Z]
[2024-06-23T21:30:37.325Z]
[2024-06-23T21:30:37.325Z] _________________ test_config_filled_quad_as_tri[serial-False] _________________
[2024-06-23T21:30:37.325Z]
[2024-06-23T21:30:37.325Z] show_text = False, name = 'serial'
[2024-06-23T21:30:37.325Z]
[2024-06-23T21:30:37.325Z] @pytest.mark.image
[2024-06-23T21:30:37.325Z] @pytest.mark.text
[2024-06-23T21:30:37.325Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:37.325Z] @pytest.mark.parametrize("name", util_test.quad_as_tri_names())
[2024-06-23T21:30:37.325Z] def test_config_filled_quad_as_tri(show_text: bool, name: str) -> None:
[2024-06-23T21:30:37.325Z] > from . import util_config
[2024-06-23T21:30:37.325Z]
[2024-06-23T21:30:37.325Z] tests/test_config.py:41:
[2024-06-23T21:30:37.325Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.325Z] tests/util_config.py:8: in <module>
[2024-06-23T21:30:37.325Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.325Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.325Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.325Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.325Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.325Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.325Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.325Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.325Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.325Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.325Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.325Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.325Z]
[2024-06-23T21:30:37.325Z] """
[2024-06-23T21:30:37.325Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.325Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.325Z] elements drawn on the canvas.
[2024-06-23T21:30:37.325Z]
[2024-06-23T21:30:37.325Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.325Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.325Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.325Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.325Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.325Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.325Z] interactive performance.
[2024-06-23T21:30:37.325Z]
[2024-06-23T21:30:37.325Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.325Z] to the graph:
[2024-06-23T21:30:37.325Z]
[2024-06-23T21:30:37.325Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.325Z]
[2024-06-23T21:30:37.325Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.325Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.325Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.325Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.325Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.325Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.325Z]
[2024-06-23T21:30:37.325Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.325Z]
[2024-06-23T21:30:37.325Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.325Z] themselves.
[2024-06-23T21:30:37.325Z]
[2024-06-23T21:30:37.325Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.325Z] of how to use transforms.
[2024-06-23T21:30:37.325Z] """
[2024-06-23T21:30:37.325Z]
[2024-06-23T21:30:37.325Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.325Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.325Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] import copy
[2024-06-23T21:30:37.326Z] import functools
[2024-06-23T21:30:37.326Z] import textwrap
[2024-06-23T21:30:37.326Z] import weakref
[2024-06-23T21:30:37.326Z] import math
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] import numpy as np
[2024-06-23T21:30:37.326Z] from numpy.linalg import inv
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] from matplotlib import _api
[2024-06-23T21:30:37.326Z] > from matplotlib._path import (
[2024-06-23T21:30:37.326Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.326Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.326Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.326Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.326Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.326Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.326Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.326Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.326Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.326Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.326Z] code = main()
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.326Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.326Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.326Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.326Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.326Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.326Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.326Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.326Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.326Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.326Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.326Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.326Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.326Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.326Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.326Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.326Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.326Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.326Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.326Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.326Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.326Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.326Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.326Z] item.runtest()
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.326Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.326Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.326Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.326Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.326Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.326Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_config.py", line 41, in test_config_filled_quad_as_tri
[2024-06-23T21:30:37.326Z] from . import util_config
[2024-06-23T21:30:37.326Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/util_config.py", line 8, in <module>
[2024-06-23T21:30:37.326Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.326Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.326Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.326Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.326Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.326Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.326Z] from matplotlib._path import (
[2024-06-23T21:30:37.326Z] Traceback (most recent call last):
[2024-06-23T21:30:37.326Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.326Z] raise ImportError(msg)
[2024-06-23T21:30:37.326Z] ImportError:
[2024-06-23T21:30:37.326Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.326Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.326Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.326Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.326Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.326Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] ________________ test_config_filled_quad_as_tri[threaded-False] ________________
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] show_text = False, name = 'threaded'
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] @pytest.mark.image
[2024-06-23T21:30:37.326Z] @pytest.mark.text
[2024-06-23T21:30:37.326Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:37.326Z] @pytest.mark.parametrize("name", util_test.quad_as_tri_names())
[2024-06-23T21:30:37.326Z] def test_config_filled_quad_as_tri(show_text: bool, name: str) -> None:
[2024-06-23T21:30:37.326Z] > from . import util_config
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] tests/test_config.py:41:
[2024-06-23T21:30:37.326Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.326Z] tests/util_config.py:8: in <module>
[2024-06-23T21:30:37.326Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.326Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.326Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.326Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.326Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.326Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.326Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.326Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.326Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.326Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.326Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.326Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] """
[2024-06-23T21:30:37.326Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.326Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.326Z] elements drawn on the canvas.
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.326Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.326Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.326Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.326Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.326Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.326Z] interactive performance.
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.326Z] to the graph:
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.326Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.326Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.326Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.326Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.326Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.326Z] themselves.
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.326Z] of how to use transforms.
[2024-06-23T21:30:37.326Z] """
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.326Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.326Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] import copy
[2024-06-23T21:30:37.326Z] import functools
[2024-06-23T21:30:37.326Z] import textwrap
[2024-06-23T21:30:37.326Z] import weakref
[2024-06-23T21:30:37.326Z] import math
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] import numpy as np
[2024-06-23T21:30:37.326Z] from numpy.linalg import inv
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] from matplotlib import _api
[2024-06-23T21:30:37.326Z] > from matplotlib._path import (
[2024-06-23T21:30:37.326Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.326Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.326Z]
[2024-06-23T21:30:37.326Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.327Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.327Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.327Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.327Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.327Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.327Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.327Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.327Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.327Z] code = main()
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.327Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.327Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.327Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.327Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.327Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.327Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.327Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.327Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.327Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.327Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.327Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.327Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.327Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.327Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.327Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.327Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.327Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.327Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.327Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.327Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.327Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.327Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.327Z] item.runtest()
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.327Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.327Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.327Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.327Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.327Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.327Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_config.py", line 41, in test_config_filled_quad_as_tri
[2024-06-23T21:30:37.327Z] from . import util_config
[2024-06-23T21:30:37.327Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/util_config.py", line 8, in <module>
[2024-06-23T21:30:37.327Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.327Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.327Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.327Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.327Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.327Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.327Z] from matplotlib._path import (
[2024-06-23T21:30:37.327Z] Traceback (most recent call last):
[2024-06-23T21:30:37.327Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.327Z] raise ImportError(msg)
[2024-06-23T21:30:37.327Z] ImportError:
[2024-06-23T21:30:37.327Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.327Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.327Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.327Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.327Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.327Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] ___________________ test_config_filled_corner[mpl2014-False] ___________________
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] show_text = False, name = 'mpl2014'
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] @pytest.mark.image
[2024-06-23T21:30:37.327Z] @pytest.mark.text
[2024-06-23T21:30:37.327Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:37.327Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:37.327Z] def test_config_filled_corner(show_text: bool, name: str) -> None:
[2024-06-23T21:30:37.327Z] > from . import util_config
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] tests/test_config.py:56:
[2024-06-23T21:30:37.327Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.327Z] tests/util_config.py:8: in <module>
[2024-06-23T21:30:37.327Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.327Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.327Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.327Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.327Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.327Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.327Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.327Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.327Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.327Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.327Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.327Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] """
[2024-06-23T21:30:37.327Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.327Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.327Z] elements drawn on the canvas.
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.327Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.327Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.327Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.327Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.327Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.327Z] interactive performance.
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.327Z] to the graph:
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.327Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.327Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.327Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.327Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.327Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.327Z] themselves.
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.327Z] of how to use transforms.
[2024-06-23T21:30:37.327Z] """
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.327Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.327Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] import copy
[2024-06-23T21:30:37.327Z] import functools
[2024-06-23T21:30:37.327Z] import textwrap
[2024-06-23T21:30:37.327Z] import weakref
[2024-06-23T21:30:37.327Z] import math
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] import numpy as np
[2024-06-23T21:30:37.327Z] from numpy.linalg import inv
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] from matplotlib import _api
[2024-06-23T21:30:37.327Z] > from matplotlib._path import (
[2024-06-23T21:30:37.327Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.327Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.327Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.327Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.327Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.327Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.327Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.327Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.327Z]
[2024-06-23T21:30:37.327Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.327Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.328Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.328Z] code = main()
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.328Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.328Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.328Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.328Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.328Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.328Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.328Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.328Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.328Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.328Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.328Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.328Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.328Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.328Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.328Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.328Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.328Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.328Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.328Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.328Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.328Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.328Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.328Z] item.runtest()
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.328Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.328Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.328Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.328Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.328Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.328Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_config.py", line 56, in test_config_filled_corner
[2024-06-23T21:30:37.328Z] from . import util_config
[2024-06-23T21:30:37.328Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/util_config.py", line 8, in <module>
[2024-06-23T21:30:37.328Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.328Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.328Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.328Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.328Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.328Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.328Z] from matplotlib._path import (
[2024-06-23T21:30:37.328Z] Traceback (most recent call last):
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.328Z] raise ImportError(msg)
[2024-06-23T21:30:37.328Z] ImportError:
[2024-06-23T21:30:37.328Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.328Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.328Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.328Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.328Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.328Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] ___________________ test_config_filled_corner[serial-False] ____________________
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] show_text = False, name = 'serial'
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] @pytest.mark.image
[2024-06-23T21:30:37.328Z] @pytest.mark.text
[2024-06-23T21:30:37.328Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:37.328Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:37.328Z] def test_config_filled_corner(show_text: bool, name: str) -> None:
[2024-06-23T21:30:37.328Z] > from . import util_config
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] tests/test_config.py:56:
[2024-06-23T21:30:37.328Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.328Z] tests/util_config.py:8: in <module>
[2024-06-23T21:30:37.328Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.328Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.328Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.328Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.328Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.328Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.328Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.328Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.328Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.328Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.328Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.328Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] """
[2024-06-23T21:30:37.328Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.328Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.328Z] elements drawn on the canvas.
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.328Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.328Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.328Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.328Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.328Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.328Z] interactive performance.
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.328Z] to the graph:
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.328Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.328Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.328Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.328Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.328Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.328Z] themselves.
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.328Z] of how to use transforms.
[2024-06-23T21:30:37.328Z] """
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.328Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.328Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] import copy
[2024-06-23T21:30:37.328Z] import functools
[2024-06-23T21:30:37.328Z] import textwrap
[2024-06-23T21:30:37.328Z] import weakref
[2024-06-23T21:30:37.328Z] import math
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] import numpy as np
[2024-06-23T21:30:37.328Z] from numpy.linalg import inv
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] from matplotlib import _api
[2024-06-23T21:30:37.328Z] > from matplotlib._path import (
[2024-06-23T21:30:37.328Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.328Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.328Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.328Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.328Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.328Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.328Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.328Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.328Z]
[2024-06-23T21:30:37.328Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.328Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.328Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.328Z] code = main()
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.328Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.328Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.328Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.328Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.329Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.329Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.329Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.329Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.329Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.329Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.329Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.329Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.329Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.329Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.329Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.329Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.329Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.329Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.329Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.329Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.329Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.329Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.329Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.329Z] item.runtest()
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.329Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.329Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.329Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.329Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.329Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.329Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_config.py", line 56, in test_config_filled_corner
[2024-06-23T21:30:37.329Z] from . import util_config
[2024-06-23T21:30:37.329Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/util_config.py", line 8, in <module>
[2024-06-23T21:30:37.329Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.329Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.329Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.329Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.329Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.329Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.329Z] from matplotlib._path import (
[2024-06-23T21:30:37.329Z] Traceback (most recent call last):
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.329Z] raise ImportError(msg)
[2024-06-23T21:30:37.329Z] ImportError:
[2024-06-23T21:30:37.329Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.329Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.329Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.329Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.329Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.329Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] __________________ test_config_filled_corner[threaded-False] ___________________
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] show_text = False, name = 'threaded'
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] @pytest.mark.image
[2024-06-23T21:30:37.329Z] @pytest.mark.text
[2024-06-23T21:30:37.329Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:37.329Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:37.329Z] def test_config_filled_corner(show_text: bool, name: str) -> None:
[2024-06-23T21:30:37.329Z] > from . import util_config
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] tests/test_config.py:56:
[2024-06-23T21:30:37.329Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.329Z] tests/util_config.py:8: in <module>
[2024-06-23T21:30:37.329Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.329Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.329Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.329Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.329Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.329Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.329Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.329Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.329Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.329Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.329Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.329Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] """
[2024-06-23T21:30:37.329Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.329Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.329Z] elements drawn on the canvas.
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.329Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.329Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.329Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.329Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.329Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.329Z] interactive performance.
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.329Z] to the graph:
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.329Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.329Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.329Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.329Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.329Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.329Z] themselves.
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.329Z] of how to use transforms.
[2024-06-23T21:30:37.329Z] """
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.329Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.329Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] import copy
[2024-06-23T21:30:37.329Z] import functools
[2024-06-23T21:30:37.329Z] import textwrap
[2024-06-23T21:30:37.329Z] import weakref
[2024-06-23T21:30:37.329Z] import math
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] import numpy as np
[2024-06-23T21:30:37.329Z] from numpy.linalg import inv
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] from matplotlib import _api
[2024-06-23T21:30:37.329Z] > from matplotlib._path import (
[2024-06-23T21:30:37.329Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.329Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.329Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.329Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.329Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.329Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.329Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.329Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.329Z]
[2024-06-23T21:30:37.329Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.329Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.329Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.329Z] code = main()
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.329Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.329Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.330Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.330Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.330Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.330Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.330Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.330Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.330Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.330Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.330Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.330Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.330Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.330Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.330Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.330Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.330Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.330Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.330Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.330Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.330Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.330Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.330Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.330Z] item.runtest()
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.330Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.330Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.330Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.330Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.330Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.330Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_config.py", line 56, in test_config_filled_corner
[2024-06-23T21:30:37.330Z] from . import util_config
[2024-06-23T21:30:37.330Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/util_config.py", line 8, in <module>
[2024-06-23T21:30:37.330Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.330Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.330Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.330Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.330Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.330Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.330Z] from matplotlib._path import (
[2024-06-23T21:30:37.330Z] Traceback (most recent call last):
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.330Z] raise ImportError(msg)
[2024-06-23T21:30:37.330Z] ImportError:
[2024-06-23T21:30:37.330Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.330Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.330Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.330Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.330Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.330Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] _______________________ test_config_lines[mpl2005-False] _______________________
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] show_text = False, name = 'mpl2005'
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] @pytest.mark.image
[2024-06-23T21:30:37.330Z] @pytest.mark.text
[2024-06-23T21:30:37.330Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:37.330Z] @pytest.mark.parametrize("name", util_test.all_names())
[2024-06-23T21:30:37.330Z] def test_config_lines(show_text: bool, name: str) -> None:
[2024-06-23T21:30:37.330Z] > from . import util_config
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] tests/test_config.py:71:
[2024-06-23T21:30:37.330Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.330Z] tests/util_config.py:8: in <module>
[2024-06-23T21:30:37.330Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.330Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.330Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.330Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.330Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.330Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.330Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.330Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.330Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.330Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.330Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.330Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] """
[2024-06-23T21:30:37.330Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.330Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.330Z] elements drawn on the canvas.
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.330Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.330Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.330Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.330Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.330Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.330Z] interactive performance.
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.330Z] to the graph:
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.330Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.330Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.330Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.330Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.330Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.330Z] themselves.
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.330Z] of how to use transforms.
[2024-06-23T21:30:37.330Z] """
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.330Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.330Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] import copy
[2024-06-23T21:30:37.330Z] import functools
[2024-06-23T21:30:37.330Z] import textwrap
[2024-06-23T21:30:37.330Z] import weakref
[2024-06-23T21:30:37.330Z] import math
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] import numpy as np
[2024-06-23T21:30:37.330Z] from numpy.linalg import inv
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] from matplotlib import _api
[2024-06-23T21:30:37.330Z] > from matplotlib._path import (
[2024-06-23T21:30:37.330Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.330Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.330Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.330Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.330Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.330Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.330Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.330Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.330Z]
[2024-06-23T21:30:37.330Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.330Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.330Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.330Z] code = main()
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.330Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.330Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.330Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.330Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.330Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.330Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.330Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.331Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.331Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.331Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.331Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.331Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.331Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.331Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.331Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.331Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.331Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.331Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.331Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.331Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.331Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.331Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.331Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.331Z] item.runtest()
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.331Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.331Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.331Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.331Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.331Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.331Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_config.py", line 71, in test_config_lines
[2024-06-23T21:30:37.331Z] from . import util_config
[2024-06-23T21:30:37.331Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/util_config.py", line 8, in <module>
[2024-06-23T21:30:37.331Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.331Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.331Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.331Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.331Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.331Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.331Z] from matplotlib._path import (
[2024-06-23T21:30:37.331Z] Traceback (most recent call last):
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.331Z] raise ImportError(msg)
[2024-06-23T21:30:37.331Z] ImportError:
[2024-06-23T21:30:37.331Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.331Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.331Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.331Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.331Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.331Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] _______________________ test_config_lines[mpl2014-False] _______________________
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] show_text = False, name = 'mpl2014'
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] @pytest.mark.image
[2024-06-23T21:30:37.331Z] @pytest.mark.text
[2024-06-23T21:30:37.331Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:37.331Z] @pytest.mark.parametrize("name", util_test.all_names())
[2024-06-23T21:30:37.331Z] def test_config_lines(show_text: bool, name: str) -> None:
[2024-06-23T21:30:37.331Z] > from . import util_config
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] tests/test_config.py:71:
[2024-06-23T21:30:37.331Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.331Z] tests/util_config.py:8: in <module>
[2024-06-23T21:30:37.331Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.331Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.331Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.331Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.331Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.331Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.331Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.331Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.331Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.331Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.331Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.331Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] """
[2024-06-23T21:30:37.331Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.331Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.331Z] elements drawn on the canvas.
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.331Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.331Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.331Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.331Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.331Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.331Z] interactive performance.
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.331Z] to the graph:
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.331Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.331Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.331Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.331Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.331Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.331Z] themselves.
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.331Z] of how to use transforms.
[2024-06-23T21:30:37.331Z] """
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.331Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.331Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] import copy
[2024-06-23T21:30:37.331Z] import functools
[2024-06-23T21:30:37.331Z] import textwrap
[2024-06-23T21:30:37.331Z] import weakref
[2024-06-23T21:30:37.331Z] import math
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] import numpy as np
[2024-06-23T21:30:37.331Z] from numpy.linalg import inv
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] from matplotlib import _api
[2024-06-23T21:30:37.331Z] > from matplotlib._path import (
[2024-06-23T21:30:37.331Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.331Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.331Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.331Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.331Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.331Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.331Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.331Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.331Z]
[2024-06-23T21:30:37.331Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.331Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.331Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.331Z] code = main()
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.331Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.331Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.331Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.331Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.331Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.331Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.331Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.331Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.331Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.331Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.331Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.331Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.331Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.332Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.332Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.332Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.332Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.332Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.332Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.332Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.332Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.332Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.332Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.332Z] item.runtest()
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.332Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.332Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.332Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.332Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.332Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.332Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_config.py", line 71, in test_config_lines
[2024-06-23T21:30:37.332Z] from . import util_config
[2024-06-23T21:30:37.332Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/util_config.py", line 8, in <module>
[2024-06-23T21:30:37.332Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.332Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.332Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.332Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.332Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.332Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.332Z] from matplotlib._path import (
[2024-06-23T21:30:37.332Z] Traceback (most recent call last):
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.332Z] raise ImportError(msg)
[2024-06-23T21:30:37.332Z] ImportError:
[2024-06-23T21:30:37.332Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.332Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.332Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.332Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.332Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.332Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] _______________________ test_config_lines[serial-False] ________________________
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] show_text = False, name = 'serial'
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] @pytest.mark.image
[2024-06-23T21:30:37.332Z] @pytest.mark.text
[2024-06-23T21:30:37.332Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:37.332Z] @pytest.mark.parametrize("name", util_test.all_names())
[2024-06-23T21:30:37.332Z] def test_config_lines(show_text: bool, name: str) -> None:
[2024-06-23T21:30:37.332Z] > from . import util_config
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] tests/test_config.py:71:
[2024-06-23T21:30:37.332Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.332Z] tests/util_config.py:8: in <module>
[2024-06-23T21:30:37.332Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.332Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.332Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.332Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.332Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.332Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.332Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.332Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.332Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.332Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.332Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.332Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] """
[2024-06-23T21:30:37.332Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.332Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.332Z] elements drawn on the canvas.
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.332Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.332Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.332Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.332Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.332Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.332Z] interactive performance.
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.332Z] to the graph:
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.332Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.332Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.332Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.332Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.332Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.332Z] themselves.
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.332Z] of how to use transforms.
[2024-06-23T21:30:37.332Z] """
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.332Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.332Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] import copy
[2024-06-23T21:30:37.332Z] import functools
[2024-06-23T21:30:37.332Z] import textwrap
[2024-06-23T21:30:37.332Z] import weakref
[2024-06-23T21:30:37.332Z] import math
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] import numpy as np
[2024-06-23T21:30:37.332Z] from numpy.linalg import inv
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] from matplotlib import _api
[2024-06-23T21:30:37.332Z] > from matplotlib._path import (
[2024-06-23T21:30:37.332Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.332Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.332Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.332Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.332Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.332Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.332Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.332Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.332Z]
[2024-06-23T21:30:37.332Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.332Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.332Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.332Z] code = main()
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.332Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.332Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.332Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.332Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.332Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.332Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.332Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.332Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.332Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.332Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.332Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.332Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.332Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.332Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.332Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.332Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.332Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.332Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.333Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.333Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.333Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.333Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.333Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.333Z] item.runtest()
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.333Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.333Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.333Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.333Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.333Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.333Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_config.py", line 71, in test_config_lines
[2024-06-23T21:30:37.333Z] from . import util_config
[2024-06-23T21:30:37.333Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/util_config.py", line 8, in <module>
[2024-06-23T21:30:37.333Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.333Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.333Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.333Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.333Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.333Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.333Z] from matplotlib._path import (
[2024-06-23T21:30:37.333Z] Traceback (most recent call last):
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.333Z] raise ImportError(msg)
[2024-06-23T21:30:37.333Z] ImportError:
[2024-06-23T21:30:37.333Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.333Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.333Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.333Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.333Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.333Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] ______________________ test_config_lines[threaded-False] _______________________
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] show_text = False, name = 'threaded'
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] @pytest.mark.image
[2024-06-23T21:30:37.333Z] @pytest.mark.text
[2024-06-23T21:30:37.333Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:37.333Z] @pytest.mark.parametrize("name", util_test.all_names())
[2024-06-23T21:30:37.333Z] def test_config_lines(show_text: bool, name: str) -> None:
[2024-06-23T21:30:37.333Z] > from . import util_config
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] tests/test_config.py:71:
[2024-06-23T21:30:37.333Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.333Z] tests/util_config.py:8: in <module>
[2024-06-23T21:30:37.333Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.333Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.333Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.333Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.333Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.333Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.333Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.333Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.333Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.333Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.333Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.333Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] """
[2024-06-23T21:30:37.333Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.333Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.333Z] elements drawn on the canvas.
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.333Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.333Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.333Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.333Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.333Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.333Z] interactive performance.
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.333Z] to the graph:
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.333Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.333Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.333Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.333Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.333Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.333Z] themselves.
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.333Z] of how to use transforms.
[2024-06-23T21:30:37.333Z] """
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.333Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.333Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] import copy
[2024-06-23T21:30:37.333Z] import functools
[2024-06-23T21:30:37.333Z] import textwrap
[2024-06-23T21:30:37.333Z] import weakref
[2024-06-23T21:30:37.333Z] import math
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] import numpy as np
[2024-06-23T21:30:37.333Z] from numpy.linalg import inv
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] from matplotlib import _api
[2024-06-23T21:30:37.333Z] > from matplotlib._path import (
[2024-06-23T21:30:37.333Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.333Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.333Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.333Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.333Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.333Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.333Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.333Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.333Z]
[2024-06-23T21:30:37.333Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.333Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.333Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.333Z] code = main()
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.333Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.333Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.333Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.333Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.333Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.333Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.333Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.333Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.333Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.333Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.333Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.333Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.333Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.333Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.333Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.333Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.333Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.333Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.333Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.334Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.334Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.334Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.334Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.334Z] item.runtest()
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.334Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.334Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.334Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.334Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.334Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.334Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_config.py", line 71, in test_config_lines
[2024-06-23T21:30:37.334Z] from . import util_config
[2024-06-23T21:30:37.334Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/util_config.py", line 8, in <module>
[2024-06-23T21:30:37.334Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.334Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.334Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.334Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.334Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.334Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.334Z] from matplotlib._path import (
[2024-06-23T21:30:37.334Z] Traceback (most recent call last):
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.334Z] raise ImportError(msg)
[2024-06-23T21:30:37.334Z] ImportError:
[2024-06-23T21:30:37.334Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.334Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.334Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.334Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.334Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.334Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] _________________ test_config_lines_quad_as_tri[serial-False] __________________
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] show_text = False, name = 'serial'
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] @pytest.mark.image
[2024-06-23T21:30:37.334Z] @pytest.mark.text
[2024-06-23T21:30:37.334Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:37.334Z] @pytest.mark.parametrize("name", util_test.quad_as_tri_names())
[2024-06-23T21:30:37.334Z] def test_config_lines_quad_as_tri(show_text: bool, name: str) -> None:
[2024-06-23T21:30:37.334Z] > from . import util_config
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] tests/test_config.py:88:
[2024-06-23T21:30:37.334Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.334Z] tests/util_config.py:8: in <module>
[2024-06-23T21:30:37.334Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.334Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.334Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.334Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.334Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.334Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.334Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.334Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.334Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.334Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.334Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.334Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] """
[2024-06-23T21:30:37.334Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.334Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.334Z] elements drawn on the canvas.
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.334Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.334Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.334Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.334Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.334Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.334Z] interactive performance.
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.334Z] to the graph:
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.334Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.334Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.334Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.334Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.334Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.334Z] themselves.
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.334Z] of how to use transforms.
[2024-06-23T21:30:37.334Z] """
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.334Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.334Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] import copy
[2024-06-23T21:30:37.334Z] import functools
[2024-06-23T21:30:37.334Z] import textwrap
[2024-06-23T21:30:37.334Z] import weakref
[2024-06-23T21:30:37.334Z] import math
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] import numpy as np
[2024-06-23T21:30:37.334Z] from numpy.linalg import inv
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] from matplotlib import _api
[2024-06-23T21:30:37.334Z] > from matplotlib._path import (
[2024-06-23T21:30:37.334Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.334Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.334Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.334Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.334Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.334Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.334Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.334Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.334Z]
[2024-06-23T21:30:37.334Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.334Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.334Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.334Z] code = main()
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.334Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.334Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.334Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.334Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.334Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.334Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.334Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.334Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.334Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.334Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.334Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.334Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.334Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.334Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.334Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.334Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.334Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.334Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.334Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.334Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.334Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.334Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.335Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.335Z] item.runtest()
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.335Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.335Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.335Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.335Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.335Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.335Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_config.py", line 88, in test_config_lines_quad_as_tri
[2024-06-23T21:30:37.335Z] from . import util_config
[2024-06-23T21:30:37.335Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/util_config.py", line 8, in <module>
[2024-06-23T21:30:37.335Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.335Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.335Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.335Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.335Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.335Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.335Z] from matplotlib._path import (
[2024-06-23T21:30:37.335Z] Traceback (most recent call last):
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.335Z] raise ImportError(msg)
[2024-06-23T21:30:37.335Z] ImportError:
[2024-06-23T21:30:37.335Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.335Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.335Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.335Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.335Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.335Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] ________________ test_config_lines_quad_as_tri[threaded-False] _________________
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] show_text = False, name = 'threaded'
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] @pytest.mark.image
[2024-06-23T21:30:37.335Z] @pytest.mark.text
[2024-06-23T21:30:37.335Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:37.335Z] @pytest.mark.parametrize("name", util_test.quad_as_tri_names())
[2024-06-23T21:30:37.335Z] def test_config_lines_quad_as_tri(show_text: bool, name: str) -> None:
[2024-06-23T21:30:37.335Z] > from . import util_config
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] tests/test_config.py:88:
[2024-06-23T21:30:37.335Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.335Z] tests/util_config.py:8: in <module>
[2024-06-23T21:30:37.335Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.335Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.335Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.335Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.335Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.335Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.335Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.335Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.335Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.335Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.335Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.335Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] """
[2024-06-23T21:30:37.335Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.335Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.335Z] elements drawn on the canvas.
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.335Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.335Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.335Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.335Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.335Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.335Z] interactive performance.
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.335Z] to the graph:
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.335Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.335Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.335Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.335Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.335Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.335Z] themselves.
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.335Z] of how to use transforms.
[2024-06-23T21:30:37.335Z] """
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.335Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.335Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] import copy
[2024-06-23T21:30:37.335Z] import functools
[2024-06-23T21:30:37.335Z] import textwrap
[2024-06-23T21:30:37.335Z] import weakref
[2024-06-23T21:30:37.335Z] import math
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] import numpy as np
[2024-06-23T21:30:37.335Z] from numpy.linalg import inv
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] from matplotlib import _api
[2024-06-23T21:30:37.335Z] > from matplotlib._path import (
[2024-06-23T21:30:37.335Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.335Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.335Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.335Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.335Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.335Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.335Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.335Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.335Z]
[2024-06-23T21:30:37.335Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.335Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.335Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.335Z] code = main()
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.335Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.335Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.335Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.335Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.335Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.335Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.335Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.335Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.335Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.335Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.335Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.335Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.335Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.335Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.335Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.335Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.335Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.335Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.335Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.335Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.335Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.335Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.335Z] item.runtest()
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.335Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.335Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.335Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.335Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.336Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.336Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.336Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_config.py", line 88, in test_config_lines_quad_as_tri
[2024-06-23T21:30:37.336Z] from . import util_config
[2024-06-23T21:30:37.336Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/util_config.py", line 8, in <module>
[2024-06-23T21:30:37.336Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.336Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.336Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.336Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.336Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.336Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.336Z] from matplotlib._path import (
[2024-06-23T21:30:37.336Z] Traceback (most recent call last):
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.336Z] raise ImportError(msg)
[2024-06-23T21:30:37.336Z] ImportError:
[2024-06-23T21:30:37.336Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.336Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.336Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.336Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.336Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.336Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] ___________________ test_config_lines_corner[mpl2014-False] ____________________
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] show_text = False, name = 'mpl2014'
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] @pytest.mark.image
[2024-06-23T21:30:37.336Z] @pytest.mark.text
[2024-06-23T21:30:37.336Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:37.336Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:37.336Z] def test_config_lines_corner(show_text: bool, name: str) -> None:
[2024-06-23T21:30:37.336Z] > from . import util_config
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] tests/test_config.py:103:
[2024-06-23T21:30:37.336Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.336Z] tests/util_config.py:8: in <module>
[2024-06-23T21:30:37.336Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.336Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.336Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.336Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.336Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.336Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.336Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.336Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.336Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.336Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.336Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.336Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] """
[2024-06-23T21:30:37.336Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.336Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.336Z] elements drawn on the canvas.
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.336Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.336Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.336Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.336Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.336Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.336Z] interactive performance.
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.336Z] to the graph:
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.336Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.336Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.336Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.336Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.336Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.336Z] themselves.
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.336Z] of how to use transforms.
[2024-06-23T21:30:37.336Z] """
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.336Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.336Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] import copy
[2024-06-23T21:30:37.336Z] import functools
[2024-06-23T21:30:37.336Z] import textwrap
[2024-06-23T21:30:37.336Z] import weakref
[2024-06-23T21:30:37.336Z] import math
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] import numpy as np
[2024-06-23T21:30:37.336Z] from numpy.linalg import inv
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] from matplotlib import _api
[2024-06-23T21:30:37.336Z] > from matplotlib._path import (
[2024-06-23T21:30:37.336Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.336Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.336Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.336Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.336Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.336Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.336Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.336Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.336Z]
[2024-06-23T21:30:37.336Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.336Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.336Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.336Z] code = main()
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.336Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.336Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.336Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.336Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.336Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.336Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.336Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.336Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.336Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.336Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.336Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.336Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.336Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.336Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.336Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.336Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.336Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.336Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.336Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.336Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.336Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.336Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.336Z] item.runtest()
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.336Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.336Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.336Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.336Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.336Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.336Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_config.py", line 103, in test_config_lines_corner
[2024-06-23T21:30:37.336Z] from . import util_config
[2024-06-23T21:30:37.336Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/util_config.py", line 8, in <module>
[2024-06-23T21:30:37.336Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.336Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.336Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.336Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.337Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.337Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.337Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.337Z] from matplotlib._path import (
[2024-06-23T21:30:37.337Z] Traceback (most recent call last):
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.337Z] raise ImportError(msg)
[2024-06-23T21:30:37.337Z] ImportError:
[2024-06-23T21:30:37.337Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.337Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.337Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.337Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.337Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.337Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] ____________________ test_config_lines_corner[serial-False] ____________________
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] show_text = False, name = 'serial'
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] @pytest.mark.image
[2024-06-23T21:30:37.337Z] @pytest.mark.text
[2024-06-23T21:30:37.337Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:37.337Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:37.337Z] def test_config_lines_corner(show_text: bool, name: str) -> None:
[2024-06-23T21:30:37.337Z] > from . import util_config
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] tests/test_config.py:103:
[2024-06-23T21:30:37.337Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.337Z] tests/util_config.py:8: in <module>
[2024-06-23T21:30:37.337Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.337Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.337Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.337Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.337Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.337Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.337Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.337Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.337Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.337Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.337Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.337Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] """
[2024-06-23T21:30:37.337Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.337Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.337Z] elements drawn on the canvas.
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.337Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.337Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.337Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.337Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.337Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.337Z] interactive performance.
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.337Z] to the graph:
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.337Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.337Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.337Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.337Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.337Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.337Z] themselves.
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.337Z] of how to use transforms.
[2024-06-23T21:30:37.337Z] """
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.337Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.337Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] import copy
[2024-06-23T21:30:37.337Z] import functools
[2024-06-23T21:30:37.337Z] import textwrap
[2024-06-23T21:30:37.337Z] import weakref
[2024-06-23T21:30:37.337Z] import math
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] import numpy as np
[2024-06-23T21:30:37.337Z] from numpy.linalg import inv
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] from matplotlib import _api
[2024-06-23T21:30:37.337Z] > from matplotlib._path import (
[2024-06-23T21:30:37.337Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.337Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.337Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.337Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.337Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.337Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.337Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.337Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.337Z]
[2024-06-23T21:30:37.337Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.337Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.337Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.337Z] code = main()
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.337Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.337Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.337Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.337Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.337Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.337Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.337Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.337Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.337Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.337Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.337Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.337Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.337Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.337Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.337Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.337Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.337Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.337Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.337Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.337Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.337Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.337Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.337Z] item.runtest()
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.337Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.337Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.337Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.337Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.337Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.337Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_config.py", line 103, in test_config_lines_corner
[2024-06-23T21:30:37.337Z] from . import util_config
[2024-06-23T21:30:37.337Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/util_config.py", line 8, in <module>
[2024-06-23T21:30:37.337Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.337Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.337Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.337Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.337Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.337Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.337Z] from matplotlib._path import (
[2024-06-23T21:30:37.337Z] Traceback (most recent call last):
[2024-06-23T21:30:37.337Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.337Z] raise ImportError(msg)
[2024-06-23T21:30:37.337Z] ImportError:
[2024-06-23T21:30:37.338Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.338Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.338Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.338Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.338Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.338Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] ___________________ test_config_lines_corner[threaded-False] ___________________
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] show_text = False, name = 'threaded'
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] @pytest.mark.image
[2024-06-23T21:30:37.338Z] @pytest.mark.text
[2024-06-23T21:30:37.338Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:37.338Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:37.338Z] def test_config_lines_corner(show_text: bool, name: str) -> None:
[2024-06-23T21:30:37.338Z] > from . import util_config
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] tests/test_config.py:103:
[2024-06-23T21:30:37.338Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.338Z] tests/util_config.py:8: in <module>
[2024-06-23T21:30:37.338Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.338Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.338Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.338Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.338Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.338Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.338Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.338Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.338Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.338Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.338Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.338Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] """
[2024-06-23T21:30:37.338Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.338Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.338Z] elements drawn on the canvas.
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.338Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.338Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.338Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.338Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.338Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.338Z] interactive performance.
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.338Z] to the graph:
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.338Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.338Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.338Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.338Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.338Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.338Z] themselves.
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.338Z] of how to use transforms.
[2024-06-23T21:30:37.338Z] """
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.338Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.338Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] import copy
[2024-06-23T21:30:37.338Z] import functools
[2024-06-23T21:30:37.338Z] import textwrap
[2024-06-23T21:30:37.338Z] import weakref
[2024-06-23T21:30:37.338Z] import math
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] import numpy as np
[2024-06-23T21:30:37.338Z] from numpy.linalg import inv
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] from matplotlib import _api
[2024-06-23T21:30:37.338Z] > from matplotlib._path import (
[2024-06-23T21:30:37.338Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.338Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.338Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.338Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.338Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.338Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.338Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.338Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.338Z]
[2024-06-23T21:30:37.338Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.338Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.338Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.338Z] code = main()
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.338Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.338Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.338Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.338Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.338Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.338Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.338Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.338Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.338Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.338Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.338Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.338Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.338Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.338Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.338Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.338Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.338Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.338Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.338Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.338Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.338Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.338Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.338Z] item.runtest()
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.338Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.338Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.338Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.338Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.338Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.338Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_config.py", line 103, in test_config_lines_corner
[2024-06-23T21:30:37.338Z] from . import util_config
[2024-06-23T21:30:37.338Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/util_config.py", line 8, in <module>
[2024-06-23T21:30:37.338Z] import matplotlib.pyplot as plt
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.338Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.338Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.338Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.338Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.338Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.339Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.339Z] from matplotlib._path import (
[2024-06-23T21:30:37.339Z] Traceback (most recent call last):
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.339Z] raise ImportError(msg)
[2024-06-23T21:30:37.339Z] ImportError:
[2024-06-23T21:30:37.339Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.339Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.339Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.339Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.339Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.339Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] ____________________ test_filled_simple[mpl2005-OuterCode] _____________________
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] name = 'mpl2005', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] @pytest.mark.image
[2024-06-23T21:30:37.339Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.339Z] def test_filled_simple(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.339Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] tests/test_filled.py:53:
[2024-06-23T21:30:37.339Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.339Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.339Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.339Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.339Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.339Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.339Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.339Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.339Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.339Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.339Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.339Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.339Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.339Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] """
[2024-06-23T21:30:37.339Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.339Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.339Z] elements drawn on the canvas.
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.339Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.339Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.339Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.339Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.339Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.339Z] interactive performance.
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.339Z] to the graph:
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.339Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.339Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.339Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.339Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.339Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.339Z] themselves.
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.339Z] of how to use transforms.
[2024-06-23T21:30:37.339Z] """
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.339Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.339Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] import copy
[2024-06-23T21:30:37.339Z] import functools
[2024-06-23T21:30:37.339Z] import textwrap
[2024-06-23T21:30:37.339Z] import weakref
[2024-06-23T21:30:37.339Z] import math
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] import numpy as np
[2024-06-23T21:30:37.339Z] from numpy.linalg import inv
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] from matplotlib import _api
[2024-06-23T21:30:37.339Z] > from matplotlib._path import (
[2024-06-23T21:30:37.339Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.339Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.339Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.339Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.339Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.339Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.339Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.339Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.339Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.339Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.339Z] code = main()
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.339Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.339Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.339Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.339Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.339Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.339Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.339Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.339Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.339Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.339Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.339Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.339Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.339Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.339Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.339Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.339Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.339Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.339Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.339Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.339Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.339Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.339Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.339Z] item.runtest()
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.339Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.339Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.339Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.339Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.339Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.339Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 53, in test_filled_simple
[2024-06-23T21:30:37.339Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.339Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.339Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.339Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.339Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.339Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.339Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.339Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.339Z] from matplotlib._path import (
[2024-06-23T21:30:37.339Z] Traceback (most recent call last):
[2024-06-23T21:30:37.339Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.339Z] raise ImportError(msg)
[2024-06-23T21:30:37.339Z] ImportError:
[2024-06-23T21:30:37.339Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.339Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.339Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.339Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.339Z]
[2024-06-23T21:30:37.339Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.340Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.340Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] ____________________ test_filled_simple[mpl2014-OuterCode] _____________________
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] name = 'mpl2014', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] @pytest.mark.image
[2024-06-23T21:30:37.340Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.340Z] def test_filled_simple(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.340Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] tests/test_filled.py:53:
[2024-06-23T21:30:37.340Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.340Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.340Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.340Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.340Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.340Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.340Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.340Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.340Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.340Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.340Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.340Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.340Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.340Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] """
[2024-06-23T21:30:37.340Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.340Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.340Z] elements drawn on the canvas.
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.340Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.340Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.340Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.340Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.340Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.340Z] interactive performance.
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.340Z] to the graph:
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.340Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.340Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.340Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.340Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.340Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.340Z] themselves.
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.340Z] of how to use transforms.
[2024-06-23T21:30:37.340Z] """
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.340Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.340Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] import copy
[2024-06-23T21:30:37.340Z] import functools
[2024-06-23T21:30:37.340Z] import textwrap
[2024-06-23T21:30:37.340Z] import weakref
[2024-06-23T21:30:37.340Z] import math
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] import numpy as np
[2024-06-23T21:30:37.340Z] from numpy.linalg import inv
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] from matplotlib import _api
[2024-06-23T21:30:37.340Z] > from matplotlib._path import (
[2024-06-23T21:30:37.340Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.340Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.340Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.340Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.340Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.340Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.340Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.340Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.340Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.340Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.340Z] code = main()
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.340Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.340Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.340Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.340Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.340Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.340Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.340Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.340Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.340Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.340Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.340Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.340Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.340Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.340Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.340Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.340Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.340Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.340Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.340Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.340Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.340Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.340Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.340Z] item.runtest()
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.340Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.340Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.340Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.340Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.340Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.340Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 53, in test_filled_simple
[2024-06-23T21:30:37.340Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.340Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.340Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.340Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.340Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.340Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.340Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.340Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.340Z] from matplotlib._path import (
[2024-06-23T21:30:37.340Z] Traceback (most recent call last):
[2024-06-23T21:30:37.340Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.340Z] raise ImportError(msg)
[2024-06-23T21:30:37.340Z] ImportError:
[2024-06-23T21:30:37.340Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.340Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.340Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.340Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.340Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.340Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] _____________________ test_filled_simple[serial-OuterCode] _____________________
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] name = 'serial', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] @pytest.mark.image
[2024-06-23T21:30:37.340Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.340Z] def test_filled_simple(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.340Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.340Z]
[2024-06-23T21:30:37.340Z] tests/test_filled.py:53:
[2024-06-23T21:30:37.341Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.341Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.341Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.341Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.341Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.341Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.341Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.341Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.341Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.341Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.341Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.341Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.341Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.341Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] """
[2024-06-23T21:30:37.341Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.341Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.341Z] elements drawn on the canvas.
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.341Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.341Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.341Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.341Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.341Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.341Z] interactive performance.
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.341Z] to the graph:
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.341Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.341Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.341Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.341Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.341Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.341Z] themselves.
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.341Z] of how to use transforms.
[2024-06-23T21:30:37.341Z] """
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.341Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.341Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] import copy
[2024-06-23T21:30:37.341Z] import functools
[2024-06-23T21:30:37.341Z] import textwrap
[2024-06-23T21:30:37.341Z] import weakref
[2024-06-23T21:30:37.341Z] import math
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] import numpy as np
[2024-06-23T21:30:37.341Z] from numpy.linalg import inv
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] from matplotlib import _api
[2024-06-23T21:30:37.341Z] > from matplotlib._path import (
[2024-06-23T21:30:37.341Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.341Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.341Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.341Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.341Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.341Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.341Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.341Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.341Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.341Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.341Z] code = main()
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.341Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.341Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.341Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.341Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.341Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.341Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.341Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.341Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.341Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.341Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.341Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.341Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.341Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.341Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.341Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.341Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.341Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.341Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.341Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.341Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.341Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.341Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.341Z] item.runtest()
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.341Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.341Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.341Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.341Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.341Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.341Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 53, in test_filled_simple
[2024-06-23T21:30:37.341Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.341Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.341Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.341Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.341Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.341Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.341Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.341Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.341Z] from matplotlib._path import (
[2024-06-23T21:30:37.341Z] Traceback (most recent call last):
[2024-06-23T21:30:37.341Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.341Z] raise ImportError(msg)
[2024-06-23T21:30:37.341Z] ImportError:
[2024-06-23T21:30:37.341Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.341Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.341Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.341Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.341Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.341Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] ____________________ test_filled_simple[serial-OuterOffset] ____________________
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] name = 'serial', fill_type = <FillType.OuterOffset: 202>
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] @pytest.mark.image
[2024-06-23T21:30:37.341Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.341Z] def test_filled_simple(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.341Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.341Z]
[2024-06-23T21:30:37.341Z] tests/test_filled.py:53:
[2024-06-23T21:30:37.341Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.341Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.341Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.341Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.341Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.341Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.341Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.341Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.341Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.341Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.341Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.342Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.342Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.342Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] """
[2024-06-23T21:30:37.342Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.342Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.342Z] elements drawn on the canvas.
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.342Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.342Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.342Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.342Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.342Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.342Z] interactive performance.
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.342Z] to the graph:
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.342Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.342Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.342Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.342Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.342Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.342Z] themselves.
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.342Z] of how to use transforms.
[2024-06-23T21:30:37.342Z] """
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.342Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.342Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] import copy
[2024-06-23T21:30:37.342Z] import functools
[2024-06-23T21:30:37.342Z] import textwrap
[2024-06-23T21:30:37.342Z] import weakref
[2024-06-23T21:30:37.342Z] import math
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] import numpy as np
[2024-06-23T21:30:37.342Z] from numpy.linalg import inv
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] from matplotlib import _api
[2024-06-23T21:30:37.342Z] > from matplotlib._path import (
[2024-06-23T21:30:37.342Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.342Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.342Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.342Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.342Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.342Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.342Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.342Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.342Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.342Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.342Z] code = main()
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.342Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.342Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.342Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.342Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.342Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.342Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.342Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.342Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.342Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.342Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.342Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.342Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.342Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.342Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.342Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.342Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.342Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.342Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.342Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.342Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.342Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.342Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.342Z] item.runtest()
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.342Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.342Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.342Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.342Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.342Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.342Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 53, in test_filled_simple
[2024-06-23T21:30:37.342Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.342Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.342Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.342Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.342Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.342Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.342Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.342Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.342Z] from matplotlib._path import (
[2024-06-23T21:30:37.342Z] Traceback (most recent call last):
[2024-06-23T21:30:37.342Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.342Z] raise ImportError(msg)
[2024-06-23T21:30:37.342Z] ImportError:
[2024-06-23T21:30:37.342Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.342Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.342Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.342Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.342Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.342Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] _________________ test_filled_simple[serial-ChunkCombinedCode] _________________
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] name = 'serial', fill_type = <FillType.ChunkCombinedCode: 203>
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] @pytest.mark.image
[2024-06-23T21:30:37.342Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.342Z] def test_filled_simple(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.342Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.342Z]
[2024-06-23T21:30:37.342Z] tests/test_filled.py:53:
[2024-06-23T21:30:37.342Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.342Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.342Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.342Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.342Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.342Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.342Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.342Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.343Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.343Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.343Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.343Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.343Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.343Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] """
[2024-06-23T21:30:37.343Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.343Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.343Z] elements drawn on the canvas.
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.343Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.343Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.343Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.343Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.343Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.343Z] interactive performance.
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.343Z] to the graph:
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.343Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.343Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.343Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.343Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.343Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.343Z] themselves.
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.343Z] of how to use transforms.
[2024-06-23T21:30:37.343Z] """
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.343Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.343Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] import copy
[2024-06-23T21:30:37.343Z] import functools
[2024-06-23T21:30:37.343Z] import textwrap
[2024-06-23T21:30:37.343Z] import weakref
[2024-06-23T21:30:37.343Z] import math
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] import numpy as np
[2024-06-23T21:30:37.343Z] from numpy.linalg import inv
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] from matplotlib import _api
[2024-06-23T21:30:37.343Z] > from matplotlib._path import (
[2024-06-23T21:30:37.343Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.343Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.343Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.343Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.343Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.343Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.343Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.343Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.343Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.343Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.343Z] code = main()
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.343Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.343Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.343Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.343Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.343Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.343Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.343Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.343Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.343Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.343Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.343Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.343Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.343Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.343Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.343Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.343Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.343Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.343Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.343Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.343Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.343Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.343Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.343Z] item.runtest()
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.343Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.343Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.343Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.343Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.343Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.343Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 53, in test_filled_simple
[2024-06-23T21:30:37.343Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.343Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.343Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.343Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.343Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.343Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.343Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.343Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.343Z] from matplotlib._path import (
[2024-06-23T21:30:37.343Z] Traceback (most recent call last):
[2024-06-23T21:30:37.343Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.343Z] raise ImportError(msg)
[2024-06-23T21:30:37.343Z] ImportError:
[2024-06-23T21:30:37.343Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.343Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.343Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.343Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.343Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.343Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] ________________ test_filled_simple[serial-ChunkCombinedOffset] ________________
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] name = 'serial', fill_type = <FillType.ChunkCombinedOffset: 204>
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] @pytest.mark.image
[2024-06-23T21:30:37.343Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.343Z] def test_filled_simple(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.343Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] tests/test_filled.py:53:
[2024-06-23T21:30:37.343Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.343Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.343Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.343Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.343Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.343Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.343Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.343Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.343Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.343Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.343Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.343Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.343Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.343Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] """
[2024-06-23T21:30:37.343Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.343Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.343Z] elements drawn on the canvas.
[2024-06-23T21:30:37.343Z]
[2024-06-23T21:30:37.343Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.344Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.344Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.344Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.344Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.344Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.344Z] interactive performance.
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.344Z] to the graph:
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.344Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.344Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.344Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.344Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.344Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.344Z] themselves.
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.344Z] of how to use transforms.
[2024-06-23T21:30:37.344Z] """
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.344Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.344Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] import copy
[2024-06-23T21:30:37.344Z] import functools
[2024-06-23T21:30:37.344Z] import textwrap
[2024-06-23T21:30:37.344Z] import weakref
[2024-06-23T21:30:37.344Z] import math
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] import numpy as np
[2024-06-23T21:30:37.344Z] from numpy.linalg import inv
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] from matplotlib import _api
[2024-06-23T21:30:37.344Z] > from matplotlib._path import (
[2024-06-23T21:30:37.344Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.344Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.344Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.344Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.344Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.344Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.344Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.344Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.344Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.344Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.344Z] code = main()
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.344Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.344Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.344Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.344Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.344Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.344Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.344Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.344Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.344Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.344Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.344Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.344Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.344Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.344Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.344Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.344Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.344Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.344Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.344Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.344Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.344Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.344Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.344Z] item.runtest()
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.344Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.344Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.344Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.344Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.344Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.344Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 53, in test_filled_simple
[2024-06-23T21:30:37.344Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.344Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.344Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.344Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.344Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.344Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.344Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.344Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.344Z] from matplotlib._path import (
[2024-06-23T21:30:37.344Z] Traceback (most recent call last):
[2024-06-23T21:30:37.344Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.344Z] raise ImportError(msg)
[2024-06-23T21:30:37.344Z] ImportError:
[2024-06-23T21:30:37.344Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.344Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.344Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.344Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.344Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.344Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] ______________ test_filled_simple[serial-ChunkCombinedCodeOffset] ______________
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] name = 'serial', fill_type = <FillType.ChunkCombinedCodeOffset: 205>
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] @pytest.mark.image
[2024-06-23T21:30:37.344Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.344Z] def test_filled_simple(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.344Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] tests/test_filled.py:53:
[2024-06-23T21:30:37.344Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.344Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.344Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.344Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.344Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.344Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.344Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.344Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.344Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.344Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.344Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.344Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.344Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.344Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] """
[2024-06-23T21:30:37.344Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.344Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.344Z] elements drawn on the canvas.
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.344Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.344Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.344Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.344Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.344Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.344Z] interactive performance.
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.344Z] to the graph:
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.344Z]
[2024-06-23T21:30:37.344Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.345Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.345Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.345Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.345Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.345Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.345Z] themselves.
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.345Z] of how to use transforms.
[2024-06-23T21:30:37.345Z] """
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.345Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.345Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] import copy
[2024-06-23T21:30:37.345Z] import functools
[2024-06-23T21:30:37.345Z] import textwrap
[2024-06-23T21:30:37.345Z] import weakref
[2024-06-23T21:30:37.345Z] import math
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] import numpy as np
[2024-06-23T21:30:37.345Z] from numpy.linalg import inv
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] from matplotlib import _api
[2024-06-23T21:30:37.345Z] > from matplotlib._path import (
[2024-06-23T21:30:37.345Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.345Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.345Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.345Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.345Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.345Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.345Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.345Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.345Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.345Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.345Z] code = main()
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.345Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.345Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.345Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.345Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.345Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.345Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.345Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.345Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.345Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.345Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.345Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.345Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.345Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.345Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.345Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.345Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.345Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.345Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.345Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.345Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.345Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.345Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.345Z] item.runtest()
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.345Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.345Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.345Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.345Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.345Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.345Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 53, in test_filled_simple
[2024-06-23T21:30:37.345Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.345Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.345Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.345Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.345Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.345Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.345Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.345Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.345Z] from matplotlib._path import (
[2024-06-23T21:30:37.345Z] Traceback (most recent call last):
[2024-06-23T21:30:37.345Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.345Z] raise ImportError(msg)
[2024-06-23T21:30:37.345Z] ImportError:
[2024-06-23T21:30:37.345Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.345Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.345Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.345Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.345Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.345Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] _____________ test_filled_simple[serial-ChunkCombinedOffsetOffset] _____________
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] name = 'serial', fill_type = <FillType.ChunkCombinedOffsetOffset: 206>
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] @pytest.mark.image
[2024-06-23T21:30:37.345Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.345Z] def test_filled_simple(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.345Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] tests/test_filled.py:53:
[2024-06-23T21:30:37.345Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.345Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.345Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.345Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.345Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.345Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.345Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.345Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.345Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.345Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.345Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.345Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.345Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.345Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] """
[2024-06-23T21:30:37.345Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.345Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.345Z] elements drawn on the canvas.
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.345Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.345Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.345Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.345Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.345Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.345Z] interactive performance.
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.345Z] to the graph:
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.345Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.345Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.345Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.345Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.345Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.345Z] themselves.
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.345Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.345Z] of how to use transforms.
[2024-06-23T21:30:37.345Z] """
[2024-06-23T21:30:37.345Z]
[2024-06-23T21:30:37.346Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.346Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.346Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z] import copy
[2024-06-23T21:30:37.346Z] import functools
[2024-06-23T21:30:37.346Z] import textwrap
[2024-06-23T21:30:37.346Z] import weakref
[2024-06-23T21:30:37.346Z] import math
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z] import numpy as np
[2024-06-23T21:30:37.346Z] from numpy.linalg import inv
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z] from matplotlib import _api
[2024-06-23T21:30:37.346Z] > from matplotlib._path import (
[2024-06-23T21:30:37.346Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.346Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.346Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.346Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.346Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.346Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.346Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.346Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.346Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.346Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.346Z] code = main()
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.346Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.346Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.346Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.346Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.346Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.346Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.346Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.346Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.346Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.346Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.346Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.346Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.346Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.346Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.346Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.346Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.346Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.346Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.346Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.346Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.346Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.346Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.346Z] item.runtest()
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.346Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.346Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.346Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.346Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.346Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.346Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 53, in test_filled_simple
[2024-06-23T21:30:37.346Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.346Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.346Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.346Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.346Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.346Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.346Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.346Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.346Z] from matplotlib._path import (
[2024-06-23T21:30:37.346Z] Traceback (most recent call last):
[2024-06-23T21:30:37.346Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.346Z] raise ImportError(msg)
[2024-06-23T21:30:37.346Z] ImportError:
[2024-06-23T21:30:37.346Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.346Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.346Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.346Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.346Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.346Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z] ____________________ test_filled_simple[threaded-OuterCode] ____________________
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z] name = 'threaded', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z] @pytest.mark.image
[2024-06-23T21:30:37.346Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.346Z] def test_filled_simple(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.346Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z] tests/test_filled.py:53:
[2024-06-23T21:30:37.346Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.346Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.346Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.346Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.346Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.346Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.346Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.346Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.346Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.346Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.346Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.346Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.346Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.346Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z] """
[2024-06-23T21:30:37.346Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.346Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.346Z] elements drawn on the canvas.
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.346Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.346Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.346Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.346Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.346Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.346Z] interactive performance.
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.346Z] to the graph:
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.346Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.346Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.346Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.346Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.346Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.346Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.346Z] themselves.
[2024-06-23T21:30:37.346Z]
[2024-06-23T21:30:37.347Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.347Z] of how to use transforms.
[2024-06-23T21:30:37.347Z] """
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.347Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.347Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] import copy
[2024-06-23T21:30:37.347Z] import functools
[2024-06-23T21:30:37.347Z] import textwrap
[2024-06-23T21:30:37.347Z] import weakref
[2024-06-23T21:30:37.347Z] import math
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] import numpy as np
[2024-06-23T21:30:37.347Z] from numpy.linalg import inv
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] from matplotlib import _api
[2024-06-23T21:30:37.347Z] > from matplotlib._path import (
[2024-06-23T21:30:37.347Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.347Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.347Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.347Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.347Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.347Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.347Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.347Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.347Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.347Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.347Z] code = main()
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.347Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.347Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.347Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.347Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.347Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.347Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.347Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.347Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.347Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.347Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.347Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.347Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.347Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.347Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.347Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.347Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.347Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.347Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.347Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.347Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.347Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.347Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.347Z] item.runtest()
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.347Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.347Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.347Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.347Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.347Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.347Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 53, in test_filled_simple
[2024-06-23T21:30:37.347Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.347Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.347Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.347Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.347Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.347Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.347Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.347Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.347Z] from matplotlib._path import (
[2024-06-23T21:30:37.347Z] Traceback (most recent call last):
[2024-06-23T21:30:37.347Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.347Z] raise ImportError(msg)
[2024-06-23T21:30:37.347Z] ImportError:
[2024-06-23T21:30:37.347Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.347Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.347Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.347Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.347Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.347Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] ___________________ test_filled_simple[threaded-OuterOffset] ___________________
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] name = 'threaded', fill_type = <FillType.OuterOffset: 202>
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] @pytest.mark.image
[2024-06-23T21:30:37.347Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.347Z] def test_filled_simple(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.347Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] tests/test_filled.py:53:
[2024-06-23T21:30:37.347Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.347Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.347Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.347Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.347Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.347Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.347Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.347Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.347Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.347Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.347Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.347Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.347Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.347Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] """
[2024-06-23T21:30:37.347Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.347Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.347Z] elements drawn on the canvas.
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.347Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.347Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.347Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.347Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.347Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.347Z] interactive performance.
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.347Z] to the graph:
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.347Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.347Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.347Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.347Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.347Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.347Z] themselves.
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.347Z] of how to use transforms.
[2024-06-23T21:30:37.347Z] """
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.347Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.347Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.347Z] import copy
[2024-06-23T21:30:37.347Z] import functools
[2024-06-23T21:30:37.347Z] import textwrap
[2024-06-23T21:30:37.347Z] import weakref
[2024-06-23T21:30:37.347Z] import math
[2024-06-23T21:30:37.347Z]
[2024-06-23T21:30:37.348Z] import numpy as np
[2024-06-23T21:30:37.348Z] from numpy.linalg import inv
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] from matplotlib import _api
[2024-06-23T21:30:37.348Z] > from matplotlib._path import (
[2024-06-23T21:30:37.348Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.348Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.348Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.348Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.348Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.348Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.348Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.348Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.348Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.348Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.348Z] code = main()
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.348Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.348Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.348Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.348Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.348Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.348Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.348Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.348Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.348Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.348Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.348Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.348Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.348Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.348Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.348Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.348Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.348Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.348Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.348Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.348Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.348Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.348Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.348Z] item.runtest()
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.348Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.348Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.348Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.348Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.348Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.348Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 53, in test_filled_simple
[2024-06-23T21:30:37.348Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.348Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.348Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.348Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.348Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.348Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.348Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.348Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.348Z] from matplotlib._path import (
[2024-06-23T21:30:37.348Z] Traceback (most recent call last):
[2024-06-23T21:30:37.348Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.348Z] raise ImportError(msg)
[2024-06-23T21:30:37.348Z] ImportError:
[2024-06-23T21:30:37.348Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.348Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.348Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.348Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.348Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.348Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] ________________ test_filled_simple[threaded-ChunkCombinedCode] ________________
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] name = 'threaded', fill_type = <FillType.ChunkCombinedCode: 203>
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] @pytest.mark.image
[2024-06-23T21:30:37.348Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.348Z] def test_filled_simple(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.348Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] tests/test_filled.py:53:
[2024-06-23T21:30:37.348Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.348Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.348Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.348Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.348Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.348Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.348Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.348Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.348Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.348Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.348Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.348Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.348Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.348Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] """
[2024-06-23T21:30:37.348Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.348Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.348Z] elements drawn on the canvas.
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.348Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.348Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.348Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.348Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.348Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.348Z] interactive performance.
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.348Z] to the graph:
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.348Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.348Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.348Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.348Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.348Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.348Z] themselves.
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.348Z] of how to use transforms.
[2024-06-23T21:30:37.348Z] """
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.348Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.348Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] import copy
[2024-06-23T21:30:37.348Z] import functools
[2024-06-23T21:30:37.348Z] import textwrap
[2024-06-23T21:30:37.348Z] import weakref
[2024-06-23T21:30:37.348Z] import math
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] import numpy as np
[2024-06-23T21:30:37.348Z] from numpy.linalg import inv
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] from matplotlib import _api
[2024-06-23T21:30:37.348Z] > from matplotlib._path import (
[2024-06-23T21:30:37.348Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.348Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.348Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.348Z]
[2024-06-23T21:30:37.348Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.348Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.348Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.349Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.349Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.349Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.349Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.349Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.349Z] code = main()
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.349Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.349Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.349Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.349Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.349Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.349Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.349Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.349Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.349Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.349Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.349Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.349Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.349Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.349Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.349Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.349Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.349Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.349Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.349Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.349Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.349Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.349Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.349Z] item.runtest()
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.349Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.349Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.349Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.349Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.349Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.349Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 53, in test_filled_simple
[2024-06-23T21:30:37.349Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.349Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.349Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.349Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.349Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.349Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.349Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.349Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.349Z] from matplotlib._path import (
[2024-06-23T21:30:37.349Z] Traceback (most recent call last):
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.349Z] raise ImportError(msg)
[2024-06-23T21:30:37.349Z] ImportError:
[2024-06-23T21:30:37.349Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.349Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.349Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.349Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.349Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.349Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] _______________ test_filled_simple[threaded-ChunkCombinedOffset] _______________
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] name = 'threaded', fill_type = <FillType.ChunkCombinedOffset: 204>
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] @pytest.mark.image
[2024-06-23T21:30:37.349Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.349Z] def test_filled_simple(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.349Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] tests/test_filled.py:53:
[2024-06-23T21:30:37.349Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.349Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.349Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.349Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.349Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.349Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.349Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.349Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.349Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.349Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.349Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.349Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.349Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.349Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] """
[2024-06-23T21:30:37.349Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.349Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.349Z] elements drawn on the canvas.
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.349Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.349Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.349Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.349Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.349Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.349Z] interactive performance.
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.349Z] to the graph:
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.349Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.349Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.349Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.349Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.349Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.349Z] themselves.
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.349Z] of how to use transforms.
[2024-06-23T21:30:37.349Z] """
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.349Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.349Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] import copy
[2024-06-23T21:30:37.349Z] import functools
[2024-06-23T21:30:37.349Z] import textwrap
[2024-06-23T21:30:37.349Z] import weakref
[2024-06-23T21:30:37.349Z] import math
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] import numpy as np
[2024-06-23T21:30:37.349Z] from numpy.linalg import inv
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] from matplotlib import _api
[2024-06-23T21:30:37.349Z] > from matplotlib._path import (
[2024-06-23T21:30:37.349Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.349Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.349Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.349Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.349Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.349Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.349Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.349Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.349Z]
[2024-06-23T21:30:37.349Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.349Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.349Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.349Z] code = main()
[2024-06-23T21:30:37.349Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.350Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.350Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.350Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.350Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.350Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.350Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.350Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.350Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.350Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.350Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.350Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.350Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.350Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.350Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.350Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.350Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.350Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.350Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.350Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.350Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.350Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.350Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.350Z] item.runtest()
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.350Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.350Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.350Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.350Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.350Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.350Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 53, in test_filled_simple
[2024-06-23T21:30:37.350Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.350Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.350Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.350Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.350Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.350Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.350Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.350Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.350Z] from matplotlib._path import (
[2024-06-23T21:30:37.350Z] Traceback (most recent call last):
[2024-06-23T21:30:37.350Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.350Z] raise ImportError(msg)
[2024-06-23T21:30:37.350Z] ImportError:
[2024-06-23T21:30:37.350Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.350Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.350Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.350Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.350Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.350Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] _____________ test_filled_simple[threaded-ChunkCombinedCodeOffset] _____________
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] name = 'threaded', fill_type = <FillType.ChunkCombinedCodeOffset: 205>
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] @pytest.mark.image
[2024-06-23T21:30:37.350Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.350Z] def test_filled_simple(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.350Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] tests/test_filled.py:53:
[2024-06-23T21:30:37.350Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.350Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.350Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.350Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.350Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.350Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.350Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.350Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.350Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.350Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.350Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.350Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.350Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.350Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] """
[2024-06-23T21:30:37.350Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.350Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.350Z] elements drawn on the canvas.
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.350Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.350Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.350Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.350Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.350Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.350Z] interactive performance.
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.350Z] to the graph:
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.350Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.350Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.350Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.350Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.350Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.350Z] themselves.
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.350Z] of how to use transforms.
[2024-06-23T21:30:37.350Z] """
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.350Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.350Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] import copy
[2024-06-23T21:30:37.350Z] import functools
[2024-06-23T21:30:37.350Z] import textwrap
[2024-06-23T21:30:37.350Z] import weakref
[2024-06-23T21:30:37.350Z] import math
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] import numpy as np
[2024-06-23T21:30:37.350Z] from numpy.linalg import inv
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] from matplotlib import _api
[2024-06-23T21:30:37.350Z] > from matplotlib._path import (
[2024-06-23T21:30:37.350Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.350Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.350Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.350Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.350Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.350Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.350Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.350Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.350Z]
[2024-06-23T21:30:37.350Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.350Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.351Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.351Z] code = main()
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.351Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.351Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.351Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.351Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.351Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.351Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.351Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.351Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.351Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.351Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.351Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.351Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.351Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.351Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.351Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.351Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.351Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.351Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.351Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.351Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.351Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.351Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.351Z] item.runtest()
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.351Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.351Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.351Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.351Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.351Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.351Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 53, in test_filled_simple
[2024-06-23T21:30:37.351Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.351Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.351Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.351Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.351Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.351Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.351Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.351Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.351Z] from matplotlib._path import (
[2024-06-23T21:30:37.351Z] Traceback (most recent call last):
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.351Z] raise ImportError(msg)
[2024-06-23T21:30:37.351Z] ImportError:
[2024-06-23T21:30:37.351Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.351Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.351Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.351Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.351Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.351Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] ____________ test_filled_simple[threaded-ChunkCombinedOffsetOffset] ____________
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] name = 'threaded', fill_type = <FillType.ChunkCombinedOffsetOffset: 206>
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] @pytest.mark.image
[2024-06-23T21:30:37.351Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.351Z] def test_filled_simple(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.351Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] tests/test_filled.py:53:
[2024-06-23T21:30:37.351Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.351Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.351Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.351Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.351Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.351Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.351Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.351Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.351Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.351Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.351Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.351Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.351Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.351Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] """
[2024-06-23T21:30:37.351Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.351Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.351Z] elements drawn on the canvas.
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.351Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.351Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.351Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.351Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.351Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.351Z] interactive performance.
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.351Z] to the graph:
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.351Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.351Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.351Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.351Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.351Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.351Z] themselves.
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.351Z] of how to use transforms.
[2024-06-23T21:30:37.351Z] """
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.351Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.351Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] import copy
[2024-06-23T21:30:37.351Z] import functools
[2024-06-23T21:30:37.351Z] import textwrap
[2024-06-23T21:30:37.351Z] import weakref
[2024-06-23T21:30:37.351Z] import math
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] import numpy as np
[2024-06-23T21:30:37.351Z] from numpy.linalg import inv
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] from matplotlib import _api
[2024-06-23T21:30:37.351Z] > from matplotlib._path import (
[2024-06-23T21:30:37.351Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.351Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.351Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.351Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.351Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.351Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.351Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.351Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.351Z]
[2024-06-23T21:30:37.351Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.351Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.351Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.351Z] code = main()
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.351Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.351Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.351Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.351Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.352Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.352Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.352Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.352Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.352Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.352Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.352Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.352Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.352Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.352Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.352Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.352Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.352Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.352Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.352Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.352Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.352Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.352Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.352Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.352Z] item.runtest()
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.352Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.352Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.352Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.352Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.352Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.352Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 53, in test_filled_simple
[2024-06-23T21:30:37.352Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.352Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.352Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.352Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.352Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.352Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.352Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.352Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.352Z] from matplotlib._path import (
[2024-06-23T21:30:37.352Z] Traceback (most recent call last):
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.352Z] raise ImportError(msg)
[2024-06-23T21:30:37.352Z] ImportError:
[2024-06-23T21:30:37.352Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.352Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.352Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.352Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.352Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.352Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] _________________ test_filled_simple_chunk[mpl2005-OuterCode] __________________
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] name = 'mpl2005', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] @pytest.mark.image
[2024-06-23T21:30:37.352Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.352Z] def test_filled_simple_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.352Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] tests/test_filled.py:76:
[2024-06-23T21:30:37.352Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.352Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.352Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.352Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.352Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.352Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.352Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.352Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.352Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.352Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.352Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.352Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.352Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.352Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] """
[2024-06-23T21:30:37.352Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.352Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.352Z] elements drawn on the canvas.
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.352Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.352Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.352Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.352Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.352Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.352Z] interactive performance.
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.352Z] to the graph:
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.352Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.352Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.352Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.352Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.352Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.352Z] themselves.
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.352Z] of how to use transforms.
[2024-06-23T21:30:37.352Z] """
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.352Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.352Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] import copy
[2024-06-23T21:30:37.352Z] import functools
[2024-06-23T21:30:37.352Z] import textwrap
[2024-06-23T21:30:37.352Z] import weakref
[2024-06-23T21:30:37.352Z] import math
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] import numpy as np
[2024-06-23T21:30:37.352Z] from numpy.linalg import inv
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] from matplotlib import _api
[2024-06-23T21:30:37.352Z] > from matplotlib._path import (
[2024-06-23T21:30:37.352Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.352Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.352Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.352Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.352Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.352Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.352Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.352Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.352Z]
[2024-06-23T21:30:37.352Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.352Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.352Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.352Z] code = main()
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.352Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.352Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.352Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.352Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.352Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.352Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.352Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.352Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.352Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.353Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.353Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.353Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.353Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.353Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.353Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.353Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.353Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.353Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.353Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.353Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.353Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.353Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.353Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.353Z] item.runtest()
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.353Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.353Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.353Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.353Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.353Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.353Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 76, in test_filled_simple_chunk
[2024-06-23T21:30:37.353Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.353Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.353Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.353Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.353Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.353Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.353Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.353Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.353Z] from matplotlib._path import (
[2024-06-23T21:30:37.353Z] Traceback (most recent call last):
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.353Z] raise ImportError(msg)
[2024-06-23T21:30:37.353Z] ImportError:
[2024-06-23T21:30:37.353Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.353Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.353Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.353Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.353Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.353Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] _________________ test_filled_simple_chunk[mpl2014-OuterCode] __________________
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] name = 'mpl2014', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] @pytest.mark.image
[2024-06-23T21:30:37.353Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.353Z] def test_filled_simple_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.353Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] tests/test_filled.py:76:
[2024-06-23T21:30:37.353Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.353Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.353Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.353Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.353Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.353Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.353Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.353Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.353Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.353Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.353Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.353Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.353Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.353Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] """
[2024-06-23T21:30:37.353Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.353Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.353Z] elements drawn on the canvas.
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.353Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.353Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.353Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.353Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.353Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.353Z] interactive performance.
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.353Z] to the graph:
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.353Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.353Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.353Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.353Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.353Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.353Z] themselves.
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.353Z] of how to use transforms.
[2024-06-23T21:30:37.353Z] """
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.353Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.353Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] import copy
[2024-06-23T21:30:37.353Z] import functools
[2024-06-23T21:30:37.353Z] import textwrap
[2024-06-23T21:30:37.353Z] import weakref
[2024-06-23T21:30:37.353Z] import math
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] import numpy as np
[2024-06-23T21:30:37.353Z] from numpy.linalg import inv
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] from matplotlib import _api
[2024-06-23T21:30:37.353Z] > from matplotlib._path import (
[2024-06-23T21:30:37.353Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.353Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.353Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.353Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.353Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.353Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.353Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.353Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.353Z]
[2024-06-23T21:30:37.353Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.353Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.353Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.353Z] code = main()
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.353Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.353Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.353Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.353Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.353Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.353Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.353Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.353Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.353Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.353Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.353Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.353Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.353Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.353Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.354Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.354Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.354Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.354Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.354Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.354Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.354Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.354Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.354Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.354Z] item.runtest()
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.354Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.354Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.354Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.354Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.354Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.354Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 76, in test_filled_simple_chunk
[2024-06-23T21:30:37.354Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.354Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.354Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.354Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.354Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.354Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.354Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.354Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.354Z] from matplotlib._path import (
[2024-06-23T21:30:37.354Z] Traceback (most recent call last):
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.354Z] raise ImportError(msg)
[2024-06-23T21:30:37.354Z] ImportError:
[2024-06-23T21:30:37.354Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.354Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.354Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.354Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.354Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.354Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] __________________ test_filled_simple_chunk[serial-OuterCode] __________________
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] name = 'serial', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] @pytest.mark.image
[2024-06-23T21:30:37.354Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.354Z] def test_filled_simple_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.354Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] tests/test_filled.py:76:
[2024-06-23T21:30:37.354Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.354Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.354Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.354Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.354Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.354Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.354Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.354Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.354Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.354Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.354Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.354Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.354Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.354Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] """
[2024-06-23T21:30:37.354Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.354Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.354Z] elements drawn on the canvas.
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.354Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.354Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.354Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.354Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.354Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.354Z] interactive performance.
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.354Z] to the graph:
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.354Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.354Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.354Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.354Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.354Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.354Z] themselves.
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.354Z] of how to use transforms.
[2024-06-23T21:30:37.354Z] """
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.354Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.354Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] import copy
[2024-06-23T21:30:37.354Z] import functools
[2024-06-23T21:30:37.354Z] import textwrap
[2024-06-23T21:30:37.354Z] import weakref
[2024-06-23T21:30:37.354Z] import math
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] import numpy as np
[2024-06-23T21:30:37.354Z] from numpy.linalg import inv
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] from matplotlib import _api
[2024-06-23T21:30:37.354Z] > from matplotlib._path import (
[2024-06-23T21:30:37.354Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.354Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.354Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.354Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.354Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.354Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.354Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.354Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.354Z]
[2024-06-23T21:30:37.354Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.354Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.354Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.354Z] code = main()
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.354Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.354Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.354Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.354Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.354Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.354Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.354Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.354Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.354Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.354Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.354Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.354Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.355Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.355Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.355Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.355Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.355Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.355Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.355Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.355Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.355Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.355Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.355Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.355Z] item.runtest()
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.355Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.355Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.355Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.355Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.355Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.355Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 76, in test_filled_simple_chunk
[2024-06-23T21:30:37.355Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.355Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.355Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.355Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.355Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.355Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.355Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.355Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.355Z] from matplotlib._path import (
[2024-06-23T21:30:37.355Z] Traceback (most recent call last):
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.355Z] raise ImportError(msg)
[2024-06-23T21:30:37.355Z] ImportError:
[2024-06-23T21:30:37.355Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.355Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.355Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.355Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.355Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.355Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] _________________ test_filled_simple_chunk[serial-OuterOffset] _________________
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] name = 'serial', fill_type = <FillType.OuterOffset: 202>
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] @pytest.mark.image
[2024-06-23T21:30:37.355Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.355Z] def test_filled_simple_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.355Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] tests/test_filled.py:76:
[2024-06-23T21:30:37.355Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.355Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.355Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.355Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.355Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.355Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.355Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.355Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.355Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.355Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.355Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.355Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.355Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.355Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] """
[2024-06-23T21:30:37.355Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.355Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.355Z] elements drawn on the canvas.
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.355Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.355Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.355Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.355Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.355Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.355Z] interactive performance.
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.355Z] to the graph:
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.355Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.355Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.355Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.355Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.355Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.355Z] themselves.
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.355Z] of how to use transforms.
[2024-06-23T21:30:37.355Z] """
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.355Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.355Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] import copy
[2024-06-23T21:30:37.355Z] import functools
[2024-06-23T21:30:37.355Z] import textwrap
[2024-06-23T21:30:37.355Z] import weakref
[2024-06-23T21:30:37.355Z] import math
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] import numpy as np
[2024-06-23T21:30:37.355Z] from numpy.linalg import inv
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] from matplotlib import _api
[2024-06-23T21:30:37.355Z] > from matplotlib._path import (
[2024-06-23T21:30:37.355Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.355Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.355Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.355Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.355Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.355Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.355Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.355Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.355Z]
[2024-06-23T21:30:37.355Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.355Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.355Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.355Z] code = main()
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.355Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.355Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.355Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.355Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.355Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.355Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.355Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.355Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.355Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.355Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.355Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.355Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.355Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.355Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.355Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.355Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.355Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.356Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.356Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.356Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.356Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.356Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.356Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.356Z] item.runtest()
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.356Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.356Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.356Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.356Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.356Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.356Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 76, in test_filled_simple_chunk
[2024-06-23T21:30:37.356Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.356Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.356Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.356Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.356Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.356Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.356Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.356Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.356Z] from matplotlib._path import (
[2024-06-23T21:30:37.356Z] Traceback (most recent call last):
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.356Z] raise ImportError(msg)
[2024-06-23T21:30:37.356Z] ImportError:
[2024-06-23T21:30:37.356Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.356Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.356Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.356Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.356Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.356Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] ______________ test_filled_simple_chunk[serial-ChunkCombinedCode] ______________
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] name = 'serial', fill_type = <FillType.ChunkCombinedCode: 203>
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] @pytest.mark.image
[2024-06-23T21:30:37.356Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.356Z] def test_filled_simple_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.356Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] tests/test_filled.py:76:
[2024-06-23T21:30:37.356Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.356Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.356Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.356Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.356Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.356Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.356Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.356Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.356Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.356Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.356Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.356Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.356Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.356Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] """
[2024-06-23T21:30:37.356Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.356Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.356Z] elements drawn on the canvas.
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.356Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.356Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.356Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.356Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.356Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.356Z] interactive performance.
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.356Z] to the graph:
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.356Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.356Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.356Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.356Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.356Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.356Z] themselves.
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.356Z] of how to use transforms.
[2024-06-23T21:30:37.356Z] """
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.356Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.356Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] import copy
[2024-06-23T21:30:37.356Z] import functools
[2024-06-23T21:30:37.356Z] import textwrap
[2024-06-23T21:30:37.356Z] import weakref
[2024-06-23T21:30:37.356Z] import math
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] import numpy as np
[2024-06-23T21:30:37.356Z] from numpy.linalg import inv
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] from matplotlib import _api
[2024-06-23T21:30:37.356Z] > from matplotlib._path import (
[2024-06-23T21:30:37.356Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.356Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.356Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.356Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.356Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.356Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.356Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.356Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.356Z]
[2024-06-23T21:30:37.356Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.356Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.356Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.356Z] code = main()
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.356Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.356Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.356Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.356Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.356Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.356Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.356Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.356Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.356Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.356Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.356Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.356Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.356Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.356Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.356Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.356Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.356Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.356Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.356Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.356Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.356Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.356Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.357Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.357Z] item.runtest()
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.357Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.357Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.357Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.357Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.357Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.357Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 76, in test_filled_simple_chunk
[2024-06-23T21:30:37.357Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.357Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.357Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.357Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.357Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.357Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.357Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.357Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.357Z] from matplotlib._path import (
[2024-06-23T21:30:37.357Z] Traceback (most recent call last):
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.357Z] raise ImportError(msg)
[2024-06-23T21:30:37.357Z] ImportError:
[2024-06-23T21:30:37.357Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.357Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.357Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.357Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.357Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.357Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] _____________ test_filled_simple_chunk[serial-ChunkCombinedOffset] _____________
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] name = 'serial', fill_type = <FillType.ChunkCombinedOffset: 204>
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] @pytest.mark.image
[2024-06-23T21:30:37.357Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.357Z] def test_filled_simple_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.357Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] tests/test_filled.py:76:
[2024-06-23T21:30:37.357Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.357Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.357Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.357Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.357Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.357Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.357Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.357Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.357Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.357Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.357Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.357Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.357Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.357Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] """
[2024-06-23T21:30:37.357Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.357Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.357Z] elements drawn on the canvas.
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.357Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.357Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.357Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.357Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.357Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.357Z] interactive performance.
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.357Z] to the graph:
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.357Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.357Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.357Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.357Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.357Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.357Z] themselves.
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.357Z] of how to use transforms.
[2024-06-23T21:30:37.357Z] """
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.357Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.357Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] import copy
[2024-06-23T21:30:37.357Z] import functools
[2024-06-23T21:30:37.357Z] import textwrap
[2024-06-23T21:30:37.357Z] import weakref
[2024-06-23T21:30:37.357Z] import math
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] import numpy as np
[2024-06-23T21:30:37.357Z] from numpy.linalg import inv
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] from matplotlib import _api
[2024-06-23T21:30:37.357Z] > from matplotlib._path import (
[2024-06-23T21:30:37.357Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.357Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.357Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.357Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.357Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.357Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.357Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.357Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.357Z]
[2024-06-23T21:30:37.357Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.357Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.357Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.357Z] code = main()
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.357Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.357Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.357Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.357Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.357Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.357Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.357Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.357Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.357Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.357Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.357Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.357Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.357Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.357Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.357Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.357Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.357Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.357Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.357Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.357Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.357Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.357Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.357Z] item.runtest()
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.357Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.357Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.357Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.358Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.358Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.358Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.358Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 76, in test_filled_simple_chunk
[2024-06-23T21:30:37.358Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.358Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.358Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.358Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.358Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.358Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.358Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.358Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.358Z] from matplotlib._path import (
[2024-06-23T21:30:37.358Z] Traceback (most recent call last):
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.358Z] raise ImportError(msg)
[2024-06-23T21:30:37.358Z] ImportError:
[2024-06-23T21:30:37.358Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.358Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.358Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.358Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.358Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.358Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] ___________ test_filled_simple_chunk[serial-ChunkCombinedCodeOffset] ___________
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] name = 'serial', fill_type = <FillType.ChunkCombinedCodeOffset: 205>
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] @pytest.mark.image
[2024-06-23T21:30:37.358Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.358Z] def test_filled_simple_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.358Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] tests/test_filled.py:76:
[2024-06-23T21:30:37.358Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.358Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.358Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.358Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.358Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.358Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.358Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.358Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.358Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.358Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.358Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.358Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.358Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.358Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] """
[2024-06-23T21:30:37.358Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.358Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.358Z] elements drawn on the canvas.
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.358Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.358Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.358Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.358Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.358Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.358Z] interactive performance.
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.358Z] to the graph:
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.358Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.358Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.358Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.358Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.358Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.358Z] themselves.
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.358Z] of how to use transforms.
[2024-06-23T21:30:37.358Z] """
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.358Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.358Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] import copy
[2024-06-23T21:30:37.358Z] import functools
[2024-06-23T21:30:37.358Z] import textwrap
[2024-06-23T21:30:37.358Z] import weakref
[2024-06-23T21:30:37.358Z] import math
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] import numpy as np
[2024-06-23T21:30:37.358Z] from numpy.linalg import inv
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] from matplotlib import _api
[2024-06-23T21:30:37.358Z] > from matplotlib._path import (
[2024-06-23T21:30:37.358Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.358Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.358Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.358Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.358Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.358Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.358Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.358Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.358Z]
[2024-06-23T21:30:37.358Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.358Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.358Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.358Z] code = main()
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.358Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.358Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.358Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.358Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.358Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.358Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.358Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.358Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.358Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.358Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.358Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.358Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.358Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.358Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.358Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.358Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.358Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.358Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.358Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.358Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.358Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.358Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.358Z] item.runtest()
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.358Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.358Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.358Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.358Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.358Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.358Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.358Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 76, in test_filled_simple_chunk
[2024-06-23T21:30:37.359Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.359Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.359Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.359Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.359Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.359Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.359Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.359Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.359Z] from matplotlib._path import (
[2024-06-23T21:30:37.359Z] Traceback (most recent call last):
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.359Z] raise ImportError(msg)
[2024-06-23T21:30:37.359Z] ImportError:
[2024-06-23T21:30:37.359Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.359Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.359Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.359Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.359Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.359Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] __________ test_filled_simple_chunk[serial-ChunkCombinedOffsetOffset] __________
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] name = 'serial', fill_type = <FillType.ChunkCombinedOffsetOffset: 206>
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] @pytest.mark.image
[2024-06-23T21:30:37.359Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.359Z] def test_filled_simple_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.359Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] tests/test_filled.py:76:
[2024-06-23T21:30:37.359Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.359Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.359Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.359Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.359Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.359Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.359Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.359Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.359Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.359Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.359Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.359Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.359Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.359Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] """
[2024-06-23T21:30:37.359Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.359Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.359Z] elements drawn on the canvas.
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.359Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.359Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.359Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.359Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.359Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.359Z] interactive performance.
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.359Z] to the graph:
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.359Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.359Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.359Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.359Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.359Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.359Z] themselves.
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.359Z] of how to use transforms.
[2024-06-23T21:30:37.359Z] """
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.359Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.359Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] import copy
[2024-06-23T21:30:37.359Z] import functools
[2024-06-23T21:30:37.359Z] import textwrap
[2024-06-23T21:30:37.359Z] import weakref
[2024-06-23T21:30:37.359Z] import math
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] import numpy as np
[2024-06-23T21:30:37.359Z] from numpy.linalg import inv
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] from matplotlib import _api
[2024-06-23T21:30:37.359Z] > from matplotlib._path import (
[2024-06-23T21:30:37.359Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.359Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.359Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.359Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.359Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.359Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.359Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.359Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.359Z]
[2024-06-23T21:30:37.359Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.359Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.359Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.359Z] code = main()
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.359Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.359Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.359Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.359Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.359Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.359Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.359Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.359Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.359Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.359Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.359Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.359Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.359Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.359Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.359Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.359Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.359Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.359Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.359Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.359Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.359Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.359Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.359Z] item.runtest()
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.359Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.359Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.359Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.359Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.359Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.359Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.359Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 76, in test_filled_simple_chunk
[2024-06-23T21:30:37.359Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.360Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.360Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.360Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.360Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.360Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.360Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.360Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.360Z] from matplotlib._path import (
[2024-06-23T21:30:37.360Z] Traceback (most recent call last):
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.360Z] raise ImportError(msg)
[2024-06-23T21:30:37.360Z] ImportError:
[2024-06-23T21:30:37.360Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.360Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.360Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.360Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.360Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.360Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] _________________ test_filled_simple_chunk[threaded-OuterCode] _________________
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] name = 'threaded', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] @pytest.mark.image
[2024-06-23T21:30:37.360Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.360Z] def test_filled_simple_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.360Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] tests/test_filled.py:76:
[2024-06-23T21:30:37.360Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.360Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.360Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.360Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.360Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.360Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.360Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.360Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.360Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.360Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.360Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.360Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.360Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.360Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] """
[2024-06-23T21:30:37.360Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.360Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.360Z] elements drawn on the canvas.
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.360Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.360Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.360Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.360Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.360Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.360Z] interactive performance.
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.360Z] to the graph:
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.360Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.360Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.360Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.360Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.360Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.360Z] themselves.
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.360Z] of how to use transforms.
[2024-06-23T21:30:37.360Z] """
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.360Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.360Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] import copy
[2024-06-23T21:30:37.360Z] import functools
[2024-06-23T21:30:37.360Z] import textwrap
[2024-06-23T21:30:37.360Z] import weakref
[2024-06-23T21:30:37.360Z] import math
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] import numpy as np
[2024-06-23T21:30:37.360Z] from numpy.linalg import inv
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] from matplotlib import _api
[2024-06-23T21:30:37.360Z] > from matplotlib._path import (
[2024-06-23T21:30:37.360Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.360Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.360Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.360Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.360Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.360Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.360Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.360Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.360Z]
[2024-06-23T21:30:37.360Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.360Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.360Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.360Z] code = main()
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.360Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.360Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.360Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.360Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.360Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.360Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.360Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.360Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.360Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.360Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.360Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.360Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.360Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.360Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.360Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.360Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.360Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.360Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.360Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.360Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.360Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.360Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.360Z] item.runtest()
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.360Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.360Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.360Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.360Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.360Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.360Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 76, in test_filled_simple_chunk
[2024-06-23T21:30:37.360Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.360Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.360Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.360Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.360Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.360Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.360Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.361Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.361Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.361Z] from matplotlib._path import (
[2024-06-23T21:30:37.361Z] Traceback (most recent call last):
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.361Z] raise ImportError(msg)
[2024-06-23T21:30:37.361Z] ImportError:
[2024-06-23T21:30:37.361Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.361Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.361Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.361Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.361Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.361Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] ________________ test_filled_simple_chunk[threaded-OuterOffset] ________________
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] name = 'threaded', fill_type = <FillType.OuterOffset: 202>
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] @pytest.mark.image
[2024-06-23T21:30:37.361Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.361Z] def test_filled_simple_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.361Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] tests/test_filled.py:76:
[2024-06-23T21:30:37.361Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.361Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.361Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.361Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.361Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.361Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.361Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.361Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.361Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.361Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.361Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.361Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.361Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.361Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] """
[2024-06-23T21:30:37.361Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.361Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.361Z] elements drawn on the canvas.
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.361Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.361Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.361Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.361Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.361Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.361Z] interactive performance.
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.361Z] to the graph:
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.361Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.361Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.361Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.361Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.361Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.361Z] themselves.
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.361Z] of how to use transforms.
[2024-06-23T21:30:37.361Z] """
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.361Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.361Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] import copy
[2024-06-23T21:30:37.361Z] import functools
[2024-06-23T21:30:37.361Z] import textwrap
[2024-06-23T21:30:37.361Z] import weakref
[2024-06-23T21:30:37.361Z] import math
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] import numpy as np
[2024-06-23T21:30:37.361Z] from numpy.linalg import inv
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] from matplotlib import _api
[2024-06-23T21:30:37.361Z] > from matplotlib._path import (
[2024-06-23T21:30:37.361Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.361Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.361Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.361Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.361Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.361Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.361Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.361Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.361Z]
[2024-06-23T21:30:37.361Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.361Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.361Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.361Z] code = main()
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.361Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.361Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.361Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.361Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.361Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.361Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.361Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.361Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.361Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.361Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.361Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.361Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.361Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.361Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.361Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.361Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.361Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.361Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.361Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.361Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.361Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.361Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.361Z] item.runtest()
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.361Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.361Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.361Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.361Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.361Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.361Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 76, in test_filled_simple_chunk
[2024-06-23T21:30:37.361Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.361Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.361Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.361Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.361Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.361Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.361Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.361Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.361Z] from matplotlib._path import (
[2024-06-23T21:30:37.361Z] Traceback (most recent call last):
[2024-06-23T21:30:37.361Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.361Z] raise ImportError(msg)
[2024-06-23T21:30:37.361Z] ImportError:
[2024-06-23T21:30:37.361Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.361Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.361Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.362Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.362Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.362Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] _____________ test_filled_simple_chunk[threaded-ChunkCombinedCode] _____________
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] name = 'threaded', fill_type = <FillType.ChunkCombinedCode: 203>
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] @pytest.mark.image
[2024-06-23T21:30:37.362Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.362Z] def test_filled_simple_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.362Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] tests/test_filled.py:76:
[2024-06-23T21:30:37.362Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.362Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.362Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.362Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.362Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.362Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.362Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.362Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.362Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.362Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.362Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.362Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.362Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.362Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] """
[2024-06-23T21:30:37.362Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.362Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.362Z] elements drawn on the canvas.
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.362Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.362Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.362Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.362Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.362Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.362Z] interactive performance.
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.362Z] to the graph:
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.362Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.362Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.362Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.362Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.362Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.362Z] themselves.
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.362Z] of how to use transforms.
[2024-06-23T21:30:37.362Z] """
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.362Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.362Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] import copy
[2024-06-23T21:30:37.362Z] import functools
[2024-06-23T21:30:37.362Z] import textwrap
[2024-06-23T21:30:37.362Z] import weakref
[2024-06-23T21:30:37.362Z] import math
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] import numpy as np
[2024-06-23T21:30:37.362Z] from numpy.linalg import inv
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] from matplotlib import _api
[2024-06-23T21:30:37.362Z] > from matplotlib._path import (
[2024-06-23T21:30:37.362Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.362Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.362Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.362Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.362Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.362Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.362Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.362Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.362Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.362Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.362Z] code = main()
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.362Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.362Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.362Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.362Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.362Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.362Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.362Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.362Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.362Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.362Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.362Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.362Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.362Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.362Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.362Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.362Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.362Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.362Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.362Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.362Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.362Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.362Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.362Z] item.runtest()
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.362Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.362Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.362Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.362Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.362Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.362Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 76, in test_filled_simple_chunk
[2024-06-23T21:30:37.362Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.362Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.362Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.362Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.362Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.362Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.362Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.362Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.362Z] from matplotlib._path import (
[2024-06-23T21:30:37.362Z] Traceback (most recent call last):
[2024-06-23T21:30:37.362Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.362Z] raise ImportError(msg)
[2024-06-23T21:30:37.362Z] ImportError:
[2024-06-23T21:30:37.362Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.362Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.362Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.362Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.362Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.362Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] ____________ test_filled_simple_chunk[threaded-ChunkCombinedOffset] ____________
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] name = 'threaded', fill_type = <FillType.ChunkCombinedOffset: 204>
[2024-06-23T21:30:37.362Z]
[2024-06-23T21:30:37.362Z] @pytest.mark.image
[2024-06-23T21:30:37.362Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.362Z] def test_filled_simple_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.362Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] tests/test_filled.py:76:
[2024-06-23T21:30:37.363Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.363Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.363Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.363Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.363Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.363Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.363Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.363Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.363Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.363Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.363Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.363Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.363Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.363Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] """
[2024-06-23T21:30:37.363Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.363Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.363Z] elements drawn on the canvas.
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.363Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.363Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.363Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.363Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.363Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.363Z] interactive performance.
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.363Z] to the graph:
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.363Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.363Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.363Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.363Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.363Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.363Z] themselves.
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.363Z] of how to use transforms.
[2024-06-23T21:30:37.363Z] """
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.363Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.363Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] import copy
[2024-06-23T21:30:37.363Z] import functools
[2024-06-23T21:30:37.363Z] import textwrap
[2024-06-23T21:30:37.363Z] import weakref
[2024-06-23T21:30:37.363Z] import math
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] import numpy as np
[2024-06-23T21:30:37.363Z] from numpy.linalg import inv
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] from matplotlib import _api
[2024-06-23T21:30:37.363Z] > from matplotlib._path import (
[2024-06-23T21:30:37.363Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.363Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.363Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.363Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.363Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.363Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.363Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.363Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.363Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.363Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.363Z] code = main()
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.363Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.363Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.363Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.363Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.363Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.363Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.363Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.363Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.363Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.363Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.363Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.363Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.363Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.363Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.363Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.363Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.363Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.363Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.363Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.363Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.363Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.363Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.363Z] item.runtest()
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.363Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.363Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.363Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.363Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.363Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.363Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 76, in test_filled_simple_chunk
[2024-06-23T21:30:37.363Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.363Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.363Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.363Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.363Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.363Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.363Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.363Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.363Z] from matplotlib._path import (
[2024-06-23T21:30:37.363Z] Traceback (most recent call last):
[2024-06-23T21:30:37.363Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.363Z] raise ImportError(msg)
[2024-06-23T21:30:37.363Z] ImportError:
[2024-06-23T21:30:37.363Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.363Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.363Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.363Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.363Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.363Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] __________ test_filled_simple_chunk[threaded-ChunkCombinedCodeOffset] __________
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] name = 'threaded', fill_type = <FillType.ChunkCombinedCodeOffset: 205>
[2024-06-23T21:30:37.363Z]
[2024-06-23T21:30:37.363Z] @pytest.mark.image
[2024-06-23T21:30:37.364Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.364Z] def test_filled_simple_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.364Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] tests/test_filled.py:76:
[2024-06-23T21:30:37.364Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.364Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.364Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.364Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.364Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.364Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.364Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.364Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.364Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.364Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.364Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.364Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.364Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.364Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] """
[2024-06-23T21:30:37.364Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.364Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.364Z] elements drawn on the canvas.
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.364Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.364Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.364Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.364Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.364Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.364Z] interactive performance.
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.364Z] to the graph:
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.364Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.364Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.364Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.364Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.364Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.364Z] themselves.
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.364Z] of how to use transforms.
[2024-06-23T21:30:37.364Z] """
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.364Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.364Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] import copy
[2024-06-23T21:30:37.364Z] import functools
[2024-06-23T21:30:37.364Z] import textwrap
[2024-06-23T21:30:37.364Z] import weakref
[2024-06-23T21:30:37.364Z] import math
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] import numpy as np
[2024-06-23T21:30:37.364Z] from numpy.linalg import inv
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] from matplotlib import _api
[2024-06-23T21:30:37.364Z] > from matplotlib._path import (
[2024-06-23T21:30:37.364Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.364Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.364Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.364Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.364Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.364Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.364Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.364Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.364Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.364Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.364Z] code = main()
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.364Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.364Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.364Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.364Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.364Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.364Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.364Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.364Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.364Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.364Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.364Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.364Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.364Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.364Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.364Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.364Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.364Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.364Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.364Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.364Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.364Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.364Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.364Z] item.runtest()
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.364Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.364Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.364Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.364Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.364Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.364Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 76, in test_filled_simple_chunk
[2024-06-23T21:30:37.364Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.364Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.364Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.364Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.364Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.364Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.364Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.364Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.364Z] from matplotlib._path import (
[2024-06-23T21:30:37.364Z] Traceback (most recent call last):
[2024-06-23T21:30:37.364Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.364Z] raise ImportError(msg)
[2024-06-23T21:30:37.364Z] ImportError:
[2024-06-23T21:30:37.364Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.364Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.364Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.364Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.364Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.364Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] _________ test_filled_simple_chunk[threaded-ChunkCombinedOffsetOffset] _________
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] name = 'threaded', fill_type = <FillType.ChunkCombinedOffsetOffset: 206>
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] @pytest.mark.image
[2024-06-23T21:30:37.364Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.364Z] def test_filled_simple_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.364Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.364Z]
[2024-06-23T21:30:37.364Z] tests/test_filled.py:76:
[2024-06-23T21:30:37.364Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.364Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.364Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.364Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.364Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.365Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.365Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.365Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.365Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.365Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.365Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.365Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.365Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.365Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] """
[2024-06-23T21:30:37.365Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.365Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.365Z] elements drawn on the canvas.
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.365Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.365Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.365Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.365Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.365Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.365Z] interactive performance.
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.365Z] to the graph:
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.365Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.365Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.365Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.365Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.365Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.365Z] themselves.
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.365Z] of how to use transforms.
[2024-06-23T21:30:37.365Z] """
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.365Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.365Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] import copy
[2024-06-23T21:30:37.365Z] import functools
[2024-06-23T21:30:37.365Z] import textwrap
[2024-06-23T21:30:37.365Z] import weakref
[2024-06-23T21:30:37.365Z] import math
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] import numpy as np
[2024-06-23T21:30:37.365Z] from numpy.linalg import inv
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] from matplotlib import _api
[2024-06-23T21:30:37.365Z] > from matplotlib._path import (
[2024-06-23T21:30:37.365Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.365Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.365Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.365Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.365Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.365Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.365Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.365Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.365Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.365Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.365Z] code = main()
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.365Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.365Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.365Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.365Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.365Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.365Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.365Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.365Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.365Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.365Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.365Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.365Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.365Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.365Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.365Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.365Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.365Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.365Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.365Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.365Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.365Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.365Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.365Z] item.runtest()
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.365Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.365Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.365Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.365Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.365Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.365Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 76, in test_filled_simple_chunk
[2024-06-23T21:30:37.365Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.365Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.365Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.365Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.365Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.365Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.365Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.365Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.365Z] from matplotlib._path import (
[2024-06-23T21:30:37.365Z] Traceback (most recent call last):
[2024-06-23T21:30:37.365Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.365Z] raise ImportError(msg)
[2024-06-23T21:30:37.365Z] ImportError:
[2024-06-23T21:30:37.365Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.365Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.365Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.365Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.365Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.365Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] ________________ test_filled_simple_chunk_threads[2-OuterCode] _________________
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] fill_type = <FillType.OuterCode: 201>, thread_count = 2
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] @pytest.mark.image
[2024-06-23T21:30:37.365Z] @pytest.mark.threads
[2024-06-23T21:30:37.365Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.365Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.365Z] def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.365Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] tests/test_filled.py:105:
[2024-06-23T21:30:37.365Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.365Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.365Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.365Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.365Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.365Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.365Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.365Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.365Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.365Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.365Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.365Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.365Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.365Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.365Z]
[2024-06-23T21:30:37.365Z] """
[2024-06-23T21:30:37.366Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.366Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.366Z] elements drawn on the canvas.
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.366Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.366Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.366Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.366Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.366Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.366Z] interactive performance.
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.366Z] to the graph:
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.366Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.366Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.366Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.366Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.366Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.366Z] themselves.
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.366Z] of how to use transforms.
[2024-06-23T21:30:37.366Z] """
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.366Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.366Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] import copy
[2024-06-23T21:30:37.366Z] import functools
[2024-06-23T21:30:37.366Z] import textwrap
[2024-06-23T21:30:37.366Z] import weakref
[2024-06-23T21:30:37.366Z] import math
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] import numpy as np
[2024-06-23T21:30:37.366Z] from numpy.linalg import inv
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] from matplotlib import _api
[2024-06-23T21:30:37.366Z] > from matplotlib._path import (
[2024-06-23T21:30:37.366Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.366Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.366Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.366Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.366Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.366Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.366Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.366Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.366Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.366Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.366Z] code = main()
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.366Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.366Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.366Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.366Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.366Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.366Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.366Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.366Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.366Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.366Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.366Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.366Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.366Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.366Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.366Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.366Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.366Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.366Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.366Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.366Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.366Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.366Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.366Z] item.runtest()
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.366Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.366Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.366Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.366Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.366Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.366Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 105, in test_filled_simple_chunk_threads
[2024-06-23T21:30:37.366Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.366Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.366Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.366Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.366Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.366Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.366Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.366Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.366Z] from matplotlib._path import (
[2024-06-23T21:30:37.366Z] Traceback (most recent call last):
[2024-06-23T21:30:37.366Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.366Z] raise ImportError(msg)
[2024-06-23T21:30:37.366Z] ImportError:
[2024-06-23T21:30:37.366Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.366Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.366Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.366Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.366Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.366Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] _______________ test_filled_simple_chunk_threads[2-OuterOffset] ________________
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] fill_type = <FillType.OuterOffset: 202>, thread_count = 2
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] @pytest.mark.image
[2024-06-23T21:30:37.366Z] @pytest.mark.threads
[2024-06-23T21:30:37.366Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.366Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.366Z] def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.366Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] tests/test_filled.py:105:
[2024-06-23T21:30:37.366Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.366Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.366Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.366Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.366Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.366Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.366Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.366Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.366Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.366Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.366Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.366Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.366Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.366Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] """
[2024-06-23T21:30:37.366Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.366Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.366Z] elements drawn on the canvas.
[2024-06-23T21:30:37.366Z]
[2024-06-23T21:30:37.366Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.366Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.366Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.366Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.366Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.366Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.366Z] interactive performance.
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.367Z] to the graph:
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.367Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.367Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.367Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.367Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.367Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.367Z] themselves.
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.367Z] of how to use transforms.
[2024-06-23T21:30:37.367Z] """
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.367Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.367Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] import copy
[2024-06-23T21:30:37.367Z] import functools
[2024-06-23T21:30:37.367Z] import textwrap
[2024-06-23T21:30:37.367Z] import weakref
[2024-06-23T21:30:37.367Z] import math
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] import numpy as np
[2024-06-23T21:30:37.367Z] from numpy.linalg import inv
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] from matplotlib import _api
[2024-06-23T21:30:37.367Z] > from matplotlib._path import (
[2024-06-23T21:30:37.367Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.367Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.367Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.367Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.367Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.367Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.367Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.367Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.367Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.367Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.367Z] code = main()
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.367Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.367Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.367Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.367Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.367Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.367Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.367Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.367Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.367Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.367Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.367Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.367Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.367Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.367Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.367Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.367Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.367Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.367Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.367Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.367Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.367Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.367Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.367Z] item.runtest()
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.367Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.367Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.367Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.367Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.367Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.367Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 105, in test_filled_simple_chunk_threads
[2024-06-23T21:30:37.367Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.367Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.367Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.367Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.367Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.367Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.367Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.367Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.367Z] from matplotlib._path import (
[2024-06-23T21:30:37.367Z] Traceback (most recent call last):
[2024-06-23T21:30:37.367Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.367Z] raise ImportError(msg)
[2024-06-23T21:30:37.367Z] ImportError:
[2024-06-23T21:30:37.367Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.367Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.367Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.367Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.367Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.367Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] ____________ test_filled_simple_chunk_threads[2-ChunkCombinedCode] _____________
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] fill_type = <FillType.ChunkCombinedCode: 203>, thread_count = 2
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] @pytest.mark.image
[2024-06-23T21:30:37.367Z] @pytest.mark.threads
[2024-06-23T21:30:37.367Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.367Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.367Z] def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.367Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] tests/test_filled.py:105:
[2024-06-23T21:30:37.367Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.367Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.367Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.367Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.367Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.367Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.367Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.367Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.367Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.367Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.367Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.367Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.367Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.367Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.367Z]
[2024-06-23T21:30:37.367Z] """
[2024-06-23T21:30:37.367Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.367Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.367Z] elements drawn on the canvas.
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.368Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.368Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.368Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.368Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.368Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.368Z] interactive performance.
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.368Z] to the graph:
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.368Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.368Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.368Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.368Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.368Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.368Z] themselves.
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.368Z] of how to use transforms.
[2024-06-23T21:30:37.368Z] """
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.368Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.368Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] import copy
[2024-06-23T21:30:37.368Z] import functools
[2024-06-23T21:30:37.368Z] import textwrap
[2024-06-23T21:30:37.368Z] import weakref
[2024-06-23T21:30:37.368Z] import math
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] import numpy as np
[2024-06-23T21:30:37.368Z] from numpy.linalg import inv
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] from matplotlib import _api
[2024-06-23T21:30:37.368Z] > from matplotlib._path import (
[2024-06-23T21:30:37.368Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.368Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.368Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.368Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.368Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.368Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.368Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.368Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.368Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.368Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.368Z] code = main()
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.368Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.368Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.368Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.368Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.368Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.368Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.368Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.368Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.368Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.368Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.368Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.368Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.368Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.368Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.368Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.368Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.368Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.368Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.368Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.368Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.368Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.368Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.368Z] item.runtest()
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.368Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.368Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.368Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.368Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.368Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.368Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 105, in test_filled_simple_chunk_threads
[2024-06-23T21:30:37.368Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.368Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.368Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.368Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.368Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.368Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.368Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.368Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.368Z] from matplotlib._path import (
[2024-06-23T21:30:37.368Z] Traceback (most recent call last):
[2024-06-23T21:30:37.368Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.368Z] raise ImportError(msg)
[2024-06-23T21:30:37.368Z] ImportError:
[2024-06-23T21:30:37.368Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.368Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.368Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.368Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.368Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.368Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] ___________ test_filled_simple_chunk_threads[2-ChunkCombinedOffset] ____________
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] fill_type = <FillType.ChunkCombinedOffset: 204>, thread_count = 2
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] @pytest.mark.image
[2024-06-23T21:30:37.368Z] @pytest.mark.threads
[2024-06-23T21:30:37.368Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.368Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.368Z] def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.368Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] tests/test_filled.py:105:
[2024-06-23T21:30:37.368Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.368Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.368Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.368Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.368Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.368Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.368Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.368Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.368Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.368Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.368Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.368Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.368Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.368Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] """
[2024-06-23T21:30:37.368Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.368Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.368Z] elements drawn on the canvas.
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.368Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.368Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.368Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.368Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.368Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.368Z] interactive performance.
[2024-06-23T21:30:37.368Z]
[2024-06-23T21:30:37.368Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.368Z] to the graph:
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.369Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.369Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.369Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.369Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.369Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.369Z] themselves.
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.369Z] of how to use transforms.
[2024-06-23T21:30:37.369Z] """
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.369Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.369Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] import copy
[2024-06-23T21:30:37.369Z] import functools
[2024-06-23T21:30:37.369Z] import textwrap
[2024-06-23T21:30:37.369Z] import weakref
[2024-06-23T21:30:37.369Z] import math
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] import numpy as np
[2024-06-23T21:30:37.369Z] from numpy.linalg import inv
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] from matplotlib import _api
[2024-06-23T21:30:37.369Z] > from matplotlib._path import (
[2024-06-23T21:30:37.369Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.369Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.369Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.369Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.369Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.369Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.369Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.369Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.369Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.369Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.369Z] code = main()
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.369Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.369Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.369Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.369Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.369Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.369Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.369Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.369Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.369Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.369Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.369Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.369Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.369Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.369Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.369Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.369Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.369Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.369Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.369Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.369Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.369Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.369Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.369Z] item.runtest()
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.369Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.369Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.369Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.369Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.369Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.369Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 105, in test_filled_simple_chunk_threads
[2024-06-23T21:30:37.369Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.369Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.369Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.369Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.369Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.369Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.369Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.369Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.369Z] from matplotlib._path import (
[2024-06-23T21:30:37.369Z] Traceback (most recent call last):
[2024-06-23T21:30:37.369Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.369Z] raise ImportError(msg)
[2024-06-23T21:30:37.369Z] ImportError:
[2024-06-23T21:30:37.369Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.369Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.369Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.369Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.369Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.369Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] _________ test_filled_simple_chunk_threads[2-ChunkCombinedCodeOffset] __________
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] fill_type = <FillType.ChunkCombinedCodeOffset: 205>, thread_count = 2
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] @pytest.mark.image
[2024-06-23T21:30:37.369Z] @pytest.mark.threads
[2024-06-23T21:30:37.369Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.369Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.369Z] def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.369Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] tests/test_filled.py:105:
[2024-06-23T21:30:37.369Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.369Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.369Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.369Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.369Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.369Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.369Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.369Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.369Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.369Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.369Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.369Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.369Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.369Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] """
[2024-06-23T21:30:37.369Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.369Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.369Z] elements drawn on the canvas.
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.369Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.369Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.369Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.369Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.369Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.369Z] interactive performance.
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.369Z] to the graph:
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.369Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.369Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.369Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.369Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.369Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.369Z]
[2024-06-23T21:30:37.369Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.370Z] themselves.
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.370Z] of how to use transforms.
[2024-06-23T21:30:37.370Z] """
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.370Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.370Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] import copy
[2024-06-23T21:30:37.370Z] import functools
[2024-06-23T21:30:37.370Z] import textwrap
[2024-06-23T21:30:37.370Z] import weakref
[2024-06-23T21:30:37.370Z] import math
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] import numpy as np
[2024-06-23T21:30:37.370Z] from numpy.linalg import inv
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] from matplotlib import _api
[2024-06-23T21:30:37.370Z] > from matplotlib._path import (
[2024-06-23T21:30:37.370Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.370Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.370Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.370Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.370Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.370Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.370Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.370Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.370Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.370Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.370Z] code = main()
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.370Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.370Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.370Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.370Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.370Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.370Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.370Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.370Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.370Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.370Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.370Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.370Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.370Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.370Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.370Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.370Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.370Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.370Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.370Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.370Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.370Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.370Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.370Z] item.runtest()
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.370Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.370Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.370Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.370Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.370Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.370Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 105, in test_filled_simple_chunk_threads
[2024-06-23T21:30:37.370Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.370Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.370Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.370Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.370Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.370Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.370Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.370Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.370Z] from matplotlib._path import (
[2024-06-23T21:30:37.370Z] Traceback (most recent call last):
[2024-06-23T21:30:37.370Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.370Z] raise ImportError(msg)
[2024-06-23T21:30:37.370Z] ImportError:
[2024-06-23T21:30:37.370Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.370Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.370Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.370Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.370Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.370Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] ________ test_filled_simple_chunk_threads[2-ChunkCombinedOffsetOffset] _________
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] fill_type = <FillType.ChunkCombinedOffsetOffset: 206>, thread_count = 2
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] @pytest.mark.image
[2024-06-23T21:30:37.370Z] @pytest.mark.threads
[2024-06-23T21:30:37.370Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.370Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.370Z] def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.370Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] tests/test_filled.py:105:
[2024-06-23T21:30:37.370Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.370Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.370Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.370Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.370Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.370Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.370Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.370Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.370Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.370Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.370Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.370Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.370Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.370Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] """
[2024-06-23T21:30:37.370Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.370Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.370Z] elements drawn on the canvas.
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.370Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.370Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.370Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.370Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.370Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.370Z] interactive performance.
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.370Z] to the graph:
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.370Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.370Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.370Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.370Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.370Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.370Z] themselves.
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.370Z] of how to use transforms.
[2024-06-23T21:30:37.370Z] """
[2024-06-23T21:30:37.370Z]
[2024-06-23T21:30:37.370Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.370Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.370Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z] import copy
[2024-06-23T21:30:37.371Z] import functools
[2024-06-23T21:30:37.371Z] import textwrap
[2024-06-23T21:30:37.371Z] import weakref
[2024-06-23T21:30:37.371Z] import math
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z] import numpy as np
[2024-06-23T21:30:37.371Z] from numpy.linalg import inv
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z] from matplotlib import _api
[2024-06-23T21:30:37.371Z] > from matplotlib._path import (
[2024-06-23T21:30:37.371Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.371Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.371Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.371Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.371Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.371Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.371Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.371Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.371Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.371Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.371Z] code = main()
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.371Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.371Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.371Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.371Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.371Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.371Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.371Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.371Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.371Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.371Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.371Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.371Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.371Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.371Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.371Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.371Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.371Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.371Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.371Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.371Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.371Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.371Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.371Z] item.runtest()
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.371Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.371Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.371Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.371Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.371Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.371Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 105, in test_filled_simple_chunk_threads
[2024-06-23T21:30:37.371Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.371Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.371Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.371Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.371Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.371Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.371Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.371Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.371Z] from matplotlib._path import (
[2024-06-23T21:30:37.371Z] Traceback (most recent call last):
[2024-06-23T21:30:37.371Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.371Z] raise ImportError(msg)
[2024-06-23T21:30:37.371Z] ImportError:
[2024-06-23T21:30:37.371Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.371Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.371Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.371Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.371Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.371Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z] ________________ test_filled_simple_chunk_threads[3-OuterCode] _________________
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z] fill_type = <FillType.OuterCode: 201>, thread_count = 3
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z] @pytest.mark.image
[2024-06-23T21:30:37.371Z] @pytest.mark.threads
[2024-06-23T21:30:37.371Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.371Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.371Z] def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.371Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z] tests/test_filled.py:105:
[2024-06-23T21:30:37.371Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.371Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.371Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.371Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.371Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.371Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.371Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.371Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.371Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.371Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.371Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.371Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.371Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.371Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z] """
[2024-06-23T21:30:37.371Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.371Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.371Z] elements drawn on the canvas.
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.371Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.371Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.371Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.371Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.371Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.371Z] interactive performance.
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.371Z] to the graph:
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.371Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.371Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.371Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.371Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.371Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.371Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.371Z] themselves.
[2024-06-23T21:30:37.371Z]
[2024-06-23T21:30:37.372Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.372Z] of how to use transforms.
[2024-06-23T21:30:37.372Z] """
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.372Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.372Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] import copy
[2024-06-23T21:30:37.372Z] import functools
[2024-06-23T21:30:37.372Z] import textwrap
[2024-06-23T21:30:37.372Z] import weakref
[2024-06-23T21:30:37.372Z] import math
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] import numpy as np
[2024-06-23T21:30:37.372Z] from numpy.linalg import inv
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] from matplotlib import _api
[2024-06-23T21:30:37.372Z] > from matplotlib._path import (
[2024-06-23T21:30:37.372Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.372Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.372Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.372Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.372Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.372Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.372Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.372Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.372Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.372Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.372Z] code = main()
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.372Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.372Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.372Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.372Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.372Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.372Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.372Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.372Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.372Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.372Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.372Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.372Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.372Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.372Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.372Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.372Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.372Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.372Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.372Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.372Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.372Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.372Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.372Z] item.runtest()
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.372Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.372Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.372Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.372Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.372Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.372Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 105, in test_filled_simple_chunk_threads
[2024-06-23T21:30:37.372Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.372Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.372Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.372Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.372Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.372Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.372Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.372Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.372Z] from matplotlib._path import (
[2024-06-23T21:30:37.372Z] Traceback (most recent call last):
[2024-06-23T21:30:37.372Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.372Z] raise ImportError(msg)
[2024-06-23T21:30:37.372Z] ImportError:
[2024-06-23T21:30:37.372Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.372Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.372Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.372Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.372Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.372Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] _______________ test_filled_simple_chunk_threads[3-OuterOffset] ________________
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] fill_type = <FillType.OuterOffset: 202>, thread_count = 3
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] @pytest.mark.image
[2024-06-23T21:30:37.372Z] @pytest.mark.threads
[2024-06-23T21:30:37.372Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.372Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.372Z] def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.372Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] tests/test_filled.py:105:
[2024-06-23T21:30:37.372Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.372Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.372Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.372Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.372Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.372Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.372Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.372Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.372Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.372Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.372Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.372Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.372Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.372Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] """
[2024-06-23T21:30:37.372Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.372Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.372Z] elements drawn on the canvas.
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.372Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.372Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.372Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.372Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.372Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.372Z] interactive performance.
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.372Z] to the graph:
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.372Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.372Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.372Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.372Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.372Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.372Z] themselves.
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.372Z] of how to use transforms.
[2024-06-23T21:30:37.372Z] """
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.372Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.372Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.372Z] import copy
[2024-06-23T21:30:37.372Z] import functools
[2024-06-23T21:30:37.372Z] import textwrap
[2024-06-23T21:30:37.372Z] import weakref
[2024-06-23T21:30:37.372Z] import math
[2024-06-23T21:30:37.372Z]
[2024-06-23T21:30:37.373Z] import numpy as np
[2024-06-23T21:30:37.373Z] from numpy.linalg import inv
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] from matplotlib import _api
[2024-06-23T21:30:37.373Z] > from matplotlib._path import (
[2024-06-23T21:30:37.373Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.373Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.373Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.373Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.373Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.373Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.373Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.373Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.373Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.373Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.373Z] code = main()
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.373Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.373Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.373Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.373Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.373Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.373Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.373Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.373Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.373Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.373Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.373Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.373Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.373Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.373Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.373Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.373Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.373Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.373Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.373Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.373Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.373Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.373Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.373Z] item.runtest()
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.373Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.373Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.373Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.373Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.373Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.373Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 105, in test_filled_simple_chunk_threads
[2024-06-23T21:30:37.373Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.373Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.373Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.373Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.373Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.373Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.373Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.373Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.373Z] from matplotlib._path import (
[2024-06-23T21:30:37.373Z] Traceback (most recent call last):
[2024-06-23T21:30:37.373Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.373Z] raise ImportError(msg)
[2024-06-23T21:30:37.373Z] ImportError:
[2024-06-23T21:30:37.373Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.373Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.373Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.373Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.373Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.373Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] ____________ test_filled_simple_chunk_threads[3-ChunkCombinedCode] _____________
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] fill_type = <FillType.ChunkCombinedCode: 203>, thread_count = 3
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] @pytest.mark.image
[2024-06-23T21:30:37.373Z] @pytest.mark.threads
[2024-06-23T21:30:37.373Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.373Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.373Z] def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.373Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] tests/test_filled.py:105:
[2024-06-23T21:30:37.373Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.373Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.373Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.373Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.373Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.373Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.373Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.373Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.373Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.373Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.373Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.373Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.373Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.373Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] """
[2024-06-23T21:30:37.373Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.373Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.373Z] elements drawn on the canvas.
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.373Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.373Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.373Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.373Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.373Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.373Z] interactive performance.
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.373Z] to the graph:
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.373Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.373Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.373Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.373Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.373Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.373Z] themselves.
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.373Z] of how to use transforms.
[2024-06-23T21:30:37.373Z] """
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.373Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.373Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] import copy
[2024-06-23T21:30:37.373Z] import functools
[2024-06-23T21:30:37.373Z] import textwrap
[2024-06-23T21:30:37.373Z] import weakref
[2024-06-23T21:30:37.373Z] import math
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] import numpy as np
[2024-06-23T21:30:37.373Z] from numpy.linalg import inv
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] from matplotlib import _api
[2024-06-23T21:30:37.373Z] > from matplotlib._path import (
[2024-06-23T21:30:37.373Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.373Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.373Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.373Z]
[2024-06-23T21:30:37.373Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.374Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.374Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.374Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.374Z]
[2024-06-23T21:30:37.374Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.374Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.374Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.374Z]
[2024-06-23T21:30:37.374Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.374Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.374Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.374Z] code = main()
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.374Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.374Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.374Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.374Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.374Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.374Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.374Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.374Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.374Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.374Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.374Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.374Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.374Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.374Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.374Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.374Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.374Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.374Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.374Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.374Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.374Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.374Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.374Z] item.runtest()
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.374Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.374Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.374Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.374Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.374Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.374Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 105, in test_filled_simple_chunk_threads
[2024-06-23T21:30:37.374Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.374Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.374Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.374Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.374Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.374Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.374Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.374Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.374Z] from matplotlib._path import (
[2024-06-23T21:30:37.374Z] Traceback (most recent call last):
[2024-06-23T21:30:37.374Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.374Z] raise ImportError(msg)
[2024-06-23T21:30:37.374Z] ImportError:
[2024-06-23T21:30:37.374Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.374Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.374Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.374Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.374Z]
[2024-06-23T21:30:37.374Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.374Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.374Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.374Z]
[2024-06-23T21:30:37.374Z]
[2024-06-23T21:30:37.374Z] ___________ test_filled_simple_chunk_threads[3-ChunkCombinedOffset] ____________
[2024-06-23T21:30:37.374Z]
[2024-06-23T21:30:37.374Z] fill_type = <FillType.ChunkCombinedOffset: 204>, thread_count = 3
[2024-06-23T21:30:37.374Z]
[2024-06-23T21:30:37.374Z] @pytest.mark.image
[2024-06-23T21:30:37.374Z] @pytest.mark.threads
[2024-06-23T21:30:37.374Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.374Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.374Z] def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.374Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.374Z]
[2024-06-23T21:30:37.374Z] tests/test_filled.py:105:
[2024-06-23T21:30:37.374Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.374Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.374Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.374Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.374Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.374Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.374Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.374Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.374Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.374Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.374Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.374Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.374Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.374Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.374Z]
[2024-06-23T21:30:37.374Z] """
[2024-06-23T21:30:37.374Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.626Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.626Z] elements drawn on the canvas.
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.626Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.626Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.626Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.626Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.626Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.626Z] interactive performance.
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.626Z] to the graph:
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.626Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.626Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.626Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.626Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.626Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.626Z] themselves.
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.626Z] of how to use transforms.
[2024-06-23T21:30:37.626Z] """
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.626Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.626Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] import copy
[2024-06-23T21:30:37.626Z] import functools
[2024-06-23T21:30:37.626Z] import textwrap
[2024-06-23T21:30:37.626Z] import weakref
[2024-06-23T21:30:37.626Z] import math
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] import numpy as np
[2024-06-23T21:30:37.626Z] from numpy.linalg import inv
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] from matplotlib import _api
[2024-06-23T21:30:37.626Z] > from matplotlib._path import (
[2024-06-23T21:30:37.626Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.626Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.626Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.626Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.626Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.626Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.626Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.626Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.626Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.626Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.626Z] code = main()
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.626Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.626Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.626Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.626Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.626Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.626Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.626Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.626Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.626Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.626Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.626Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.626Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.626Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.626Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.626Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.626Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.626Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.626Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.626Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.626Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.626Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.626Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.626Z] item.runtest()
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.626Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.626Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.626Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.626Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.626Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.626Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 105, in test_filled_simple_chunk_threads
[2024-06-23T21:30:37.626Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.626Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.626Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.626Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.626Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.626Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.626Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.626Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.626Z] from matplotlib._path import (
[2024-06-23T21:30:37.626Z] Traceback (most recent call last):
[2024-06-23T21:30:37.626Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.626Z] raise ImportError(msg)
[2024-06-23T21:30:37.626Z] ImportError:
[2024-06-23T21:30:37.626Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.626Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.626Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.626Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.626Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.626Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] _________ test_filled_simple_chunk_threads[3-ChunkCombinedCodeOffset] __________
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] fill_type = <FillType.ChunkCombinedCodeOffset: 205>, thread_count = 3
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] @pytest.mark.image
[2024-06-23T21:30:37.626Z] @pytest.mark.threads
[2024-06-23T21:30:37.626Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.626Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.626Z] def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.626Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.626Z] tests/test_filled.py:105:
[2024-06-23T21:30:37.626Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.626Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.626Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.626Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.626Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.626Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.626Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.626Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.626Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.626Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.626Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.626Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.626Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.626Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.626Z]
[2024-06-23T21:30:37.627Z] """
[2024-06-23T21:30:37.627Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.627Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.627Z] elements drawn on the canvas.
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.627Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.627Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.627Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.627Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.627Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.627Z] interactive performance.
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.627Z] to the graph:
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.627Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.627Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.627Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.627Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.627Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.627Z] themselves.
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.627Z] of how to use transforms.
[2024-06-23T21:30:37.627Z] """
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.627Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.627Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] import copy
[2024-06-23T21:30:37.627Z] import functools
[2024-06-23T21:30:37.627Z] import textwrap
[2024-06-23T21:30:37.627Z] import weakref
[2024-06-23T21:30:37.627Z] import math
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] import numpy as np
[2024-06-23T21:30:37.627Z] from numpy.linalg import inv
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] from matplotlib import _api
[2024-06-23T21:30:37.627Z] > from matplotlib._path import (
[2024-06-23T21:30:37.627Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.627Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.627Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.627Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.627Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.627Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.627Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.627Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.627Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.627Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.627Z] code = main()
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.627Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.627Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.627Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.627Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.627Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.627Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.627Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.627Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.627Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.627Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.627Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.627Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.627Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.627Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.627Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.627Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.627Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.627Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.627Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.627Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.627Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.627Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.627Z] item.runtest()
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.627Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.627Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.627Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.627Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.627Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.627Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 105, in test_filled_simple_chunk_threads
[2024-06-23T21:30:37.627Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.627Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.627Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.627Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.627Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.627Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.627Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.627Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.627Z] from matplotlib._path import (
[2024-06-23T21:30:37.627Z] Traceback (most recent call last):
[2024-06-23T21:30:37.627Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.627Z] raise ImportError(msg)
[2024-06-23T21:30:37.627Z] ImportError:
[2024-06-23T21:30:37.627Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.627Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.627Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.627Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.627Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.627Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] ________ test_filled_simple_chunk_threads[3-ChunkCombinedOffsetOffset] _________
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] fill_type = <FillType.ChunkCombinedOffsetOffset: 206>, thread_count = 3
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] @pytest.mark.image
[2024-06-23T21:30:37.627Z] @pytest.mark.threads
[2024-06-23T21:30:37.627Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.627Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.627Z] def test_filled_simple_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.627Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.627Z] tests/test_filled.py:105:
[2024-06-23T21:30:37.627Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.627Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.627Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.627Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.627Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.627Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.627Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.627Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.627Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.627Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.627Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.627Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.627Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.627Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.627Z]
[2024-06-23T21:30:37.628Z] """
[2024-06-23T21:30:37.628Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.628Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.628Z] elements drawn on the canvas.
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.628Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.628Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.628Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.628Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.628Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.628Z] interactive performance.
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.628Z] to the graph:
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.628Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.628Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.628Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.628Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.628Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.628Z] themselves.
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.628Z] of how to use transforms.
[2024-06-23T21:30:37.628Z] """
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.628Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.628Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] import copy
[2024-06-23T21:30:37.628Z] import functools
[2024-06-23T21:30:37.628Z] import textwrap
[2024-06-23T21:30:37.628Z] import weakref
[2024-06-23T21:30:37.628Z] import math
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] import numpy as np
[2024-06-23T21:30:37.628Z] from numpy.linalg import inv
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] from matplotlib import _api
[2024-06-23T21:30:37.628Z] > from matplotlib._path import (
[2024-06-23T21:30:37.628Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.628Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.628Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.628Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.628Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.628Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.628Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.628Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.628Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.628Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.628Z] code = main()
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.628Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.628Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.628Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.628Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.628Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.628Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.628Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.628Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.628Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.628Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.628Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.628Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.628Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.628Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.628Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.628Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.628Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.628Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.628Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.628Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.628Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.628Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.628Z] item.runtest()
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.628Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.628Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.628Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.628Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.628Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.628Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 105, in test_filled_simple_chunk_threads
[2024-06-23T21:30:37.628Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.628Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.628Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.628Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.628Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.628Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.628Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.628Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.628Z] from matplotlib._path import (
[2024-06-23T21:30:37.628Z] Traceback (most recent call last):
[2024-06-23T21:30:37.628Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.628Z] raise ImportError(msg)
[2024-06-23T21:30:37.628Z] ImportError:
[2024-06-23T21:30:37.628Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.628Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.628Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.628Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.628Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.628Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] _____________ test_filled_simple_no_corner_mask[mpl2005-OuterCode] _____________
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] name = 'mpl2005', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] @pytest.mark.image
[2024-06-23T21:30:37.628Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.628Z] def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.628Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] tests/test_filled.py:132:
[2024-06-23T21:30:37.628Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.628Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.628Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.628Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.628Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.628Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.628Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.628Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.628Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.628Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.628Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.628Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.628Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.628Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] """
[2024-06-23T21:30:37.628Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.628Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.628Z] elements drawn on the canvas.
[2024-06-23T21:30:37.628Z]
[2024-06-23T21:30:37.628Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.628Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.628Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.628Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.628Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.628Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.628Z] interactive performance.
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.629Z] to the graph:
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.629Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.629Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.629Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.629Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.629Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.629Z] themselves.
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.629Z] of how to use transforms.
[2024-06-23T21:30:37.629Z] """
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.629Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.629Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] import copy
[2024-06-23T21:30:37.629Z] import functools
[2024-06-23T21:30:37.629Z] import textwrap
[2024-06-23T21:30:37.629Z] import weakref
[2024-06-23T21:30:37.629Z] import math
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] import numpy as np
[2024-06-23T21:30:37.629Z] from numpy.linalg import inv
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] from matplotlib import _api
[2024-06-23T21:30:37.629Z] > from matplotlib._path import (
[2024-06-23T21:30:37.629Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.629Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.629Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.629Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.629Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.629Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.629Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.629Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.629Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.629Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.629Z] code = main()
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.629Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.629Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.629Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.629Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.629Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.629Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.629Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.629Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.629Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.629Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.629Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.629Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.629Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.629Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.629Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.629Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.629Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.629Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.629Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.629Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.629Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.629Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.629Z] item.runtest()
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.629Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.629Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.629Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.629Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.629Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.629Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 132, in test_filled_simple_no_corner_mask
[2024-06-23T21:30:37.629Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.629Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.629Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.629Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.629Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.629Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.629Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.629Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.629Z] from matplotlib._path import (
[2024-06-23T21:30:37.629Z] Traceback (most recent call last):
[2024-06-23T21:30:37.629Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.629Z] raise ImportError(msg)
[2024-06-23T21:30:37.629Z] ImportError:
[2024-06-23T21:30:37.629Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.629Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.629Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.629Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.629Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.629Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] _____________ test_filled_simple_no_corner_mask[mpl2014-OuterCode] _____________
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] name = 'mpl2014', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] @pytest.mark.image
[2024-06-23T21:30:37.629Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.629Z] def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.629Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] tests/test_filled.py:132:
[2024-06-23T21:30:37.629Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.629Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.629Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.629Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.629Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.629Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.629Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.629Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.629Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.629Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.629Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.629Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.629Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.629Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] """
[2024-06-23T21:30:37.629Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.629Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.629Z] elements drawn on the canvas.
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.629Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.629Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.629Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.629Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.629Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.629Z] interactive performance.
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.629Z] to the graph:
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.629Z]
[2024-06-23T21:30:37.629Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.629Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.629Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.630Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.630Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.630Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.630Z]
[2024-06-23T21:30:37.630Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.630Z]
[2024-06-23T21:30:37.630Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.630Z] themselves.
[2024-06-23T21:30:37.630Z]
[2024-06-23T21:30:37.630Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.630Z] of how to use transforms.
[2024-06-23T21:30:37.630Z] """
[2024-06-23T21:30:37.630Z]
[2024-06-23T21:30:37.630Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.630Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.630Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.630Z]
[2024-06-23T21:30:37.630Z] import copy
[2024-06-23T21:30:37.630Z] import functools
[2024-06-23T21:30:37.630Z] import textwrap
[2024-06-23T21:30:37.630Z] import weakref
[2024-06-23T21:30:37.630Z] import math
[2024-06-23T21:30:37.630Z]
[2024-06-23T21:30:37.630Z] import numpy as np
[2024-06-23T21:30:37.630Z] from numpy.linalg import inv
[2024-06-23T21:30:37.630Z]
[2024-06-23T21:30:37.630Z] from matplotlib import _api
[2024-06-23T21:30:37.630Z] > from matplotlib._path import (
[2024-06-23T21:30:37.630Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.630Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.630Z]
[2024-06-23T21:30:37.630Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.630Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.630Z]
[2024-06-23T21:30:37.630Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.630Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.630Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.630Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.630Z]
[2024-06-23T21:30:37.630Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.630Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.630Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.630Z]
[2024-06-23T21:30:37.630Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.630Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.630Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.630Z] code = main()
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.630Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.630Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.630Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.630Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.630Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.630Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.630Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.630Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.630Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.630Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.630Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.630Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.630Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.630Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.630Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.630Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.630Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.630Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.630Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.630Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.630Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.630Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.630Z] item.runtest()
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.630Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.630Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.630Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.630Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.630Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.630Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 132, in test_filled_simple_no_corner_mask
[2024-06-23T21:30:37.630Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.630Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.630Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.630Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.630Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.630Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.630Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.630Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.630Z] from matplotlib._path import (
[2024-06-23T21:30:37.630Z] Traceback (most recent call last):
[2024-06-23T21:30:37.630Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.630Z] raise ImportError(msg)
[2024-06-23T21:30:37.630Z] ImportError:
[2024-06-23T21:30:37.630Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.630Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.630Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.630Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.630Z]
[2024-06-23T21:30:37.630Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.630Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.630Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.630Z]
[2024-06-23T21:30:37.630Z]
[2024-06-23T21:30:37.630Z] _____________ test_filled_simple_no_corner_mask[serial-OuterCode] ______________
[2024-06-23T21:30:37.630Z]
[2024-06-23T21:30:37.630Z] name = 'serial', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.630Z]
[2024-06-23T21:30:37.630Z] @pytest.mark.image
[2024-06-23T21:30:37.630Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.630Z] def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.630Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.630Z]
[2024-06-23T21:30:37.630Z] tests/test_filled.py:132:
[2024-06-23T21:30:37.630Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.630Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.630Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.630Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.630Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.630Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.630Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.630Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.630Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.630Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.630Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.630Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.630Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.630Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.630Z]
[2024-06-23T21:30:37.630Z] """
[2024-06-23T21:30:37.630Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.630Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.630Z] elements drawn on the canvas.
[2024-06-23T21:30:37.630Z]
[2024-06-23T21:30:37.631Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.631Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.631Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.631Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.631Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.631Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.631Z] interactive performance.
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.631Z] to the graph:
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.631Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.631Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.631Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.631Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.631Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.631Z] themselves.
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.631Z] of how to use transforms.
[2024-06-23T21:30:37.631Z] """
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.631Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.631Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] import copy
[2024-06-23T21:30:37.631Z] import functools
[2024-06-23T21:30:37.631Z] import textwrap
[2024-06-23T21:30:37.631Z] import weakref
[2024-06-23T21:30:37.631Z] import math
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] import numpy as np
[2024-06-23T21:30:37.631Z] from numpy.linalg import inv
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] from matplotlib import _api
[2024-06-23T21:30:37.631Z] > from matplotlib._path import (
[2024-06-23T21:30:37.631Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.631Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.631Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.631Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.631Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.631Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.631Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.631Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.631Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.631Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.631Z] code = main()
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.631Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.631Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.631Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.631Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.631Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.631Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.631Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.631Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.631Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.631Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.631Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.631Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.631Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.631Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.631Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.631Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.631Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.631Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.631Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.631Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.631Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.631Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.631Z] item.runtest()
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.631Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.631Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.631Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.631Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.631Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.631Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 132, in test_filled_simple_no_corner_mask
[2024-06-23T21:30:37.631Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.631Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.631Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.631Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.631Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.631Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.631Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.631Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.631Z] from matplotlib._path import (
[2024-06-23T21:30:37.631Z] Traceback (most recent call last):
[2024-06-23T21:30:37.631Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.631Z] raise ImportError(msg)
[2024-06-23T21:30:37.631Z] ImportError:
[2024-06-23T21:30:37.631Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.631Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.631Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.631Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.631Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.631Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] ____________ test_filled_simple_no_corner_mask[serial-OuterOffset] _____________
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] name = 'serial', fill_type = <FillType.OuterOffset: 202>
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] @pytest.mark.image
[2024-06-23T21:30:37.631Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.631Z] def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.631Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] tests/test_filled.py:132:
[2024-06-23T21:30:37.631Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.631Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.631Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.631Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.631Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.631Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.631Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.631Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.631Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.631Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.631Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.631Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.631Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.631Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] """
[2024-06-23T21:30:37.631Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.631Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.631Z] elements drawn on the canvas.
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.631Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.631Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.631Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.631Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.631Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.631Z] interactive performance.
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.631Z] to the graph:
[2024-06-23T21:30:37.631Z]
[2024-06-23T21:30:37.631Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.632Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.632Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.632Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.632Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.632Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.632Z] themselves.
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.632Z] of how to use transforms.
[2024-06-23T21:30:37.632Z] """
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.632Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.632Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] import copy
[2024-06-23T21:30:37.632Z] import functools
[2024-06-23T21:30:37.632Z] import textwrap
[2024-06-23T21:30:37.632Z] import weakref
[2024-06-23T21:30:37.632Z] import math
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] import numpy as np
[2024-06-23T21:30:37.632Z] from numpy.linalg import inv
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] from matplotlib import _api
[2024-06-23T21:30:37.632Z] > from matplotlib._path import (
[2024-06-23T21:30:37.632Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.632Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.632Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.632Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.632Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.632Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.632Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.632Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.632Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.632Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.632Z] code = main()
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.632Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.632Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.632Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.632Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.632Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.632Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.632Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.632Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.632Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.632Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.632Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.632Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.632Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.632Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.632Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.632Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.632Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.632Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.632Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.632Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.632Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.632Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.632Z] item.runtest()
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.632Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.632Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.632Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.632Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.632Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.632Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 132, in test_filled_simple_no_corner_mask
[2024-06-23T21:30:37.632Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.632Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.632Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.632Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.632Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.632Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.632Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.632Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.632Z] from matplotlib._path import (
[2024-06-23T21:30:37.632Z] Traceback (most recent call last):
[2024-06-23T21:30:37.632Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.632Z] raise ImportError(msg)
[2024-06-23T21:30:37.632Z] ImportError:
[2024-06-23T21:30:37.632Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.632Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.632Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.632Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.632Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.632Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] _________ test_filled_simple_no_corner_mask[serial-ChunkCombinedCode] __________
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] name = 'serial', fill_type = <FillType.ChunkCombinedCode: 203>
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] @pytest.mark.image
[2024-06-23T21:30:37.632Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.632Z] def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.632Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] tests/test_filled.py:132:
[2024-06-23T21:30:37.632Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.632Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.632Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.632Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.632Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.632Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.632Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.632Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.632Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.632Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.632Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.632Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.632Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.632Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] """
[2024-06-23T21:30:37.632Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.632Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.632Z] elements drawn on the canvas.
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.632Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.632Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.632Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.632Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.632Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.632Z] interactive performance.
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.632Z] to the graph:
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.632Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.632Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.632Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.632Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.632Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.632Z] themselves.
[2024-06-23T21:30:37.632Z]
[2024-06-23T21:30:37.632Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.633Z] of how to use transforms.
[2024-06-23T21:30:37.633Z] """
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.633Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.633Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] import copy
[2024-06-23T21:30:37.633Z] import functools
[2024-06-23T21:30:37.633Z] import textwrap
[2024-06-23T21:30:37.633Z] import weakref
[2024-06-23T21:30:37.633Z] import math
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] import numpy as np
[2024-06-23T21:30:37.633Z] from numpy.linalg import inv
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] from matplotlib import _api
[2024-06-23T21:30:37.633Z] > from matplotlib._path import (
[2024-06-23T21:30:37.633Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.633Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.633Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.633Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.633Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.633Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.633Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.633Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.633Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.633Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.633Z] code = main()
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.633Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.633Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.633Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.633Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.633Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.633Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.633Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.633Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.633Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.633Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.633Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.633Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.633Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.633Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.633Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.633Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.633Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.633Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.633Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.633Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.633Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.633Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.633Z] item.runtest()
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.633Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.633Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.633Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.633Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.633Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.633Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 132, in test_filled_simple_no_corner_mask
[2024-06-23T21:30:37.633Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.633Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.633Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.633Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.633Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.633Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.633Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.633Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.633Z] from matplotlib._path import (
[2024-06-23T21:30:37.633Z] Traceback (most recent call last):
[2024-06-23T21:30:37.633Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.633Z] raise ImportError(msg)
[2024-06-23T21:30:37.633Z] ImportError:
[2024-06-23T21:30:37.633Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.633Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.633Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.633Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.633Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.633Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] ________ test_filled_simple_no_corner_mask[serial-ChunkCombinedOffset] _________
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] name = 'serial', fill_type = <FillType.ChunkCombinedOffset: 204>
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] @pytest.mark.image
[2024-06-23T21:30:37.633Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.633Z] def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.633Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] tests/test_filled.py:132:
[2024-06-23T21:30:37.633Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.633Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.633Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.633Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.633Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.633Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.633Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.633Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.633Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.633Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.633Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.633Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.633Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.633Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] """
[2024-06-23T21:30:37.633Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.633Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.633Z] elements drawn on the canvas.
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.633Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.633Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.633Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.633Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.633Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.633Z] interactive performance.
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.633Z] to the graph:
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.633Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.633Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.633Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.633Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.633Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.633Z] themselves.
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.633Z] of how to use transforms.
[2024-06-23T21:30:37.633Z] """
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.633Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.633Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] import copy
[2024-06-23T21:30:37.633Z] import functools
[2024-06-23T21:30:37.633Z] import textwrap
[2024-06-23T21:30:37.633Z] import weakref
[2024-06-23T21:30:37.633Z] import math
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] import numpy as np
[2024-06-23T21:30:37.633Z] from numpy.linalg import inv
[2024-06-23T21:30:37.633Z]
[2024-06-23T21:30:37.633Z] from matplotlib import _api
[2024-06-23T21:30:37.634Z] > from matplotlib._path import (
[2024-06-23T21:30:37.634Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.634Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.634Z]
[2024-06-23T21:30:37.634Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.634Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.634Z]
[2024-06-23T21:30:37.634Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.634Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.634Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.634Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.634Z]
[2024-06-23T21:30:37.634Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.634Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.634Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.634Z]
[2024-06-23T21:30:37.634Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.634Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.634Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.634Z] code = main()
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.634Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.634Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.634Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.634Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.634Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.634Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.634Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.634Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.634Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.634Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.634Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.634Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.634Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.634Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.634Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.634Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.634Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.634Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.634Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.634Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.634Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.634Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.634Z] item.runtest()
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.634Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.634Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.634Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.634Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.634Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.634Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 132, in test_filled_simple_no_corner_mask
[2024-06-23T21:30:37.634Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.634Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.634Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.634Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.634Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.634Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.634Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.634Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.634Z] from matplotlib._path import (
[2024-06-23T21:30:37.634Z] Traceback (most recent call last):
[2024-06-23T21:30:37.634Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.634Z] raise ImportError(msg)
[2024-06-23T21:30:37.634Z] ImportError:
[2024-06-23T21:30:37.634Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.634Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.634Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.634Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.634Z]
[2024-06-23T21:30:37.634Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.634Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.634Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.634Z]
[2024-06-23T21:30:37.634Z]
[2024-06-23T21:30:37.634Z] ______ test_filled_simple_no_corner_mask[serial-ChunkCombinedCodeOffset] _______
[2024-06-23T21:30:37.634Z]
[2024-06-23T21:30:37.634Z] name = 'serial', fill_type = <FillType.ChunkCombinedCodeOffset: 205>
[2024-06-23T21:30:37.634Z]
[2024-06-23T21:30:37.634Z] @pytest.mark.image
[2024-06-23T21:30:37.634Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.634Z] def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.634Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.634Z]
[2024-06-23T21:30:37.634Z] tests/test_filled.py:132:
[2024-06-23T21:30:37.634Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.634Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.634Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.634Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.634Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.634Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.634Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.634Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.634Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.634Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.634Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.634Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.634Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.634Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.634Z]
[2024-06-23T21:30:37.634Z] """
[2024-06-23T21:30:37.634Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.634Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.634Z] elements drawn on the canvas.
[2024-06-23T21:30:37.634Z]
[2024-06-23T21:30:37.634Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.634Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.634Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.634Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.634Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.634Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.634Z] interactive performance.
[2024-06-23T21:30:37.634Z]
[2024-06-23T21:30:37.634Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.634Z] to the graph:
[2024-06-23T21:30:37.634Z]
[2024-06-23T21:30:37.634Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.634Z]
[2024-06-23T21:30:37.634Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.634Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.634Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.634Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.634Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.634Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.634Z]
[2024-06-23T21:30:37.634Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.634Z]
[2024-06-23T21:30:37.634Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.634Z] themselves.
[2024-06-23T21:30:37.634Z]
[2024-06-23T21:30:37.634Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.634Z] of how to use transforms.
[2024-06-23T21:30:37.634Z] """
[2024-06-23T21:30:37.634Z]
[2024-06-23T21:30:37.634Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.635Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.635Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] import copy
[2024-06-23T21:30:37.635Z] import functools
[2024-06-23T21:30:37.635Z] import textwrap
[2024-06-23T21:30:37.635Z] import weakref
[2024-06-23T21:30:37.635Z] import math
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] import numpy as np
[2024-06-23T21:30:37.635Z] from numpy.linalg import inv
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] from matplotlib import _api
[2024-06-23T21:30:37.635Z] > from matplotlib._path import (
[2024-06-23T21:30:37.635Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.635Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.635Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.635Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.635Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.635Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.635Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.635Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.635Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.635Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.635Z] code = main()
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.635Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.635Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.635Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.635Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.635Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.635Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.635Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.635Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.635Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.635Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.635Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.635Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.635Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.635Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.635Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.635Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.635Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.635Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.635Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.635Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.635Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.635Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.635Z] item.runtest()
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.635Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.635Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.635Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.635Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.635Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.635Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 132, in test_filled_simple_no_corner_mask
[2024-06-23T21:30:37.635Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.635Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.635Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.635Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.635Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.635Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.635Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.635Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.635Z] from matplotlib._path import (
[2024-06-23T21:30:37.635Z] Traceback (most recent call last):
[2024-06-23T21:30:37.635Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.635Z] raise ImportError(msg)
[2024-06-23T21:30:37.635Z] ImportError:
[2024-06-23T21:30:37.635Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.635Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.635Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.635Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.635Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.635Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] _____ test_filled_simple_no_corner_mask[serial-ChunkCombinedOffsetOffset] ______
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] name = 'serial', fill_type = <FillType.ChunkCombinedOffsetOffset: 206>
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] @pytest.mark.image
[2024-06-23T21:30:37.635Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.635Z] def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.635Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] tests/test_filled.py:132:
[2024-06-23T21:30:37.635Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.635Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.635Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.635Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.635Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.635Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.635Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.635Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.635Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.635Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.635Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.635Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.635Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.635Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] """
[2024-06-23T21:30:37.635Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.635Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.635Z] elements drawn on the canvas.
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.635Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.635Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.635Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.635Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.635Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.635Z] interactive performance.
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.635Z] to the graph:
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.635Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.635Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.635Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.635Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.635Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.635Z] themselves.
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.635Z] of how to use transforms.
[2024-06-23T21:30:37.635Z] """
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.635Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.635Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] import copy
[2024-06-23T21:30:37.635Z] import functools
[2024-06-23T21:30:37.635Z] import textwrap
[2024-06-23T21:30:37.635Z] import weakref
[2024-06-23T21:30:37.635Z] import math
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] import numpy as np
[2024-06-23T21:30:37.635Z] from numpy.linalg import inv
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.635Z] from matplotlib import _api
[2024-06-23T21:30:37.635Z] > from matplotlib._path import (
[2024-06-23T21:30:37.635Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.635Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.635Z]
[2024-06-23T21:30:37.636Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.636Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.636Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.636Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.636Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.636Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.636Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.636Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.636Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.636Z] code = main()
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.636Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.636Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.636Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.636Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.636Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.636Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.636Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.636Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.636Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.636Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.636Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.636Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.636Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.636Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.636Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.636Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.636Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.636Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.636Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.636Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.636Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.636Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.636Z] item.runtest()
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.636Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.636Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.636Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.636Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.636Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.636Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 132, in test_filled_simple_no_corner_mask
[2024-06-23T21:30:37.636Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.636Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.636Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.636Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.636Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.636Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.636Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.636Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.636Z] from matplotlib._path import (
[2024-06-23T21:30:37.636Z] Traceback (most recent call last):
[2024-06-23T21:30:37.636Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.636Z] raise ImportError(msg)
[2024-06-23T21:30:37.636Z] ImportError:
[2024-06-23T21:30:37.636Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.636Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.636Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.636Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.636Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.636Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] ____________ test_filled_simple_no_corner_mask[threaded-OuterCode] _____________
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] name = 'threaded', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] @pytest.mark.image
[2024-06-23T21:30:37.636Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.636Z] def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.636Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] tests/test_filled.py:132:
[2024-06-23T21:30:37.636Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.636Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.636Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.636Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.636Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.636Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.636Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.636Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.636Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.636Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.636Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.636Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.636Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.636Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] """
[2024-06-23T21:30:37.636Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.636Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.636Z] elements drawn on the canvas.
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.636Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.636Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.636Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.636Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.636Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.636Z] interactive performance.
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.636Z] to the graph:
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.636Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.636Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.636Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.636Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.636Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.636Z] themselves.
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.636Z] of how to use transforms.
[2024-06-23T21:30:37.636Z] """
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.636Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.636Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] import copy
[2024-06-23T21:30:37.636Z] import functools
[2024-06-23T21:30:37.636Z] import textwrap
[2024-06-23T21:30:37.636Z] import weakref
[2024-06-23T21:30:37.636Z] import math
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] import numpy as np
[2024-06-23T21:30:37.636Z] from numpy.linalg import inv
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] from matplotlib import _api
[2024-06-23T21:30:37.636Z] > from matplotlib._path import (
[2024-06-23T21:30:37.636Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.636Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.636Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.636Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.636Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.636Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.636Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.636Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.636Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.636Z]
[2024-06-23T21:30:37.637Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.637Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.637Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.637Z] code = main()
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.637Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.637Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.637Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.637Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.637Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.637Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.637Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.637Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.637Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.637Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.637Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.637Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.637Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.637Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.637Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.637Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.637Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.637Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.637Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.637Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.637Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.637Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.637Z] item.runtest()
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.637Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.637Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.637Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.637Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.637Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.637Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 132, in test_filled_simple_no_corner_mask
[2024-06-23T21:30:37.637Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.637Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.637Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.637Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.637Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.637Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.637Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.637Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.637Z] from matplotlib._path import (
[2024-06-23T21:30:37.637Z] Traceback (most recent call last):
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.637Z] raise ImportError(msg)
[2024-06-23T21:30:37.637Z] ImportError:
[2024-06-23T21:30:37.637Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.637Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.637Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.637Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.637Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.637Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] ___________ test_filled_simple_no_corner_mask[threaded-OuterOffset] ____________
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] name = 'threaded', fill_type = <FillType.OuterOffset: 202>
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] @pytest.mark.image
[2024-06-23T21:30:37.637Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.637Z] def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.637Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] tests/test_filled.py:132:
[2024-06-23T21:30:37.637Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.637Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.637Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.637Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.637Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.637Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.637Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.637Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.637Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.637Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.637Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.637Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.637Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.637Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] """
[2024-06-23T21:30:37.637Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.637Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.637Z] elements drawn on the canvas.
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.637Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.637Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.637Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.637Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.637Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.637Z] interactive performance.
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.637Z] to the graph:
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.637Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.637Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.637Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.637Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.637Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.637Z] themselves.
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.637Z] of how to use transforms.
[2024-06-23T21:30:37.637Z] """
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.637Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.637Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] import copy
[2024-06-23T21:30:37.637Z] import functools
[2024-06-23T21:30:37.637Z] import textwrap
[2024-06-23T21:30:37.637Z] import weakref
[2024-06-23T21:30:37.637Z] import math
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] import numpy as np
[2024-06-23T21:30:37.637Z] from numpy.linalg import inv
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] from matplotlib import _api
[2024-06-23T21:30:37.637Z] > from matplotlib._path import (
[2024-06-23T21:30:37.637Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.637Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.637Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.637Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.637Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.637Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.637Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.637Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.637Z]
[2024-06-23T21:30:37.637Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.637Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.637Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.637Z] code = main()
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.637Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.637Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.638Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.638Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.638Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.638Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.638Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.638Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.638Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.638Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.638Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.638Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.638Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.638Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.638Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.638Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.638Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.638Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.638Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.638Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.638Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.638Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.638Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.638Z] item.runtest()
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.638Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.638Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.638Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.638Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.638Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.638Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 132, in test_filled_simple_no_corner_mask
[2024-06-23T21:30:37.638Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.638Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.638Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.638Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.638Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.638Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.638Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.638Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.638Z] from matplotlib._path import (
[2024-06-23T21:30:37.638Z] Traceback (most recent call last):
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.638Z] raise ImportError(msg)
[2024-06-23T21:30:37.638Z] ImportError:
[2024-06-23T21:30:37.638Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.638Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.638Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.638Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.638Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.638Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] ________ test_filled_simple_no_corner_mask[threaded-ChunkCombinedCode] _________
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] name = 'threaded', fill_type = <FillType.ChunkCombinedCode: 203>
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] @pytest.mark.image
[2024-06-23T21:30:37.638Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.638Z] def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.638Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] tests/test_filled.py:132:
[2024-06-23T21:30:37.638Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.638Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.638Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.638Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.638Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.638Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.638Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.638Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.638Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.638Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.638Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.638Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.638Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.638Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] """
[2024-06-23T21:30:37.638Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.638Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.638Z] elements drawn on the canvas.
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.638Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.638Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.638Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.638Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.638Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.638Z] interactive performance.
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.638Z] to the graph:
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.638Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.638Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.638Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.638Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.638Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.638Z] themselves.
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.638Z] of how to use transforms.
[2024-06-23T21:30:37.638Z] """
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.638Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.638Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] import copy
[2024-06-23T21:30:37.638Z] import functools
[2024-06-23T21:30:37.638Z] import textwrap
[2024-06-23T21:30:37.638Z] import weakref
[2024-06-23T21:30:37.638Z] import math
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] import numpy as np
[2024-06-23T21:30:37.638Z] from numpy.linalg import inv
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] from matplotlib import _api
[2024-06-23T21:30:37.638Z] > from matplotlib._path import (
[2024-06-23T21:30:37.638Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.638Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.638Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.638Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.638Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.638Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.638Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.638Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.638Z]
[2024-06-23T21:30:37.638Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.638Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.638Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.638Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.639Z] code = main()
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.639Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.639Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.639Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.639Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.639Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.639Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.639Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.639Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.639Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.639Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.639Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.639Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.639Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.639Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.639Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.639Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.639Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.639Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.639Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.639Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.639Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.639Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.639Z] item.runtest()
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.639Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.639Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.639Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.639Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.639Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.639Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 132, in test_filled_simple_no_corner_mask
[2024-06-23T21:30:37.639Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.639Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.639Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.639Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.639Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.639Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.639Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.639Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.639Z] from matplotlib._path import (
[2024-06-23T21:30:37.639Z] Traceback (most recent call last):
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.639Z] raise ImportError(msg)
[2024-06-23T21:30:37.639Z] ImportError:
[2024-06-23T21:30:37.639Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.639Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.639Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.639Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.639Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.639Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] _______ test_filled_simple_no_corner_mask[threaded-ChunkCombinedOffset] ________
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] name = 'threaded', fill_type = <FillType.ChunkCombinedOffset: 204>
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] @pytest.mark.image
[2024-06-23T21:30:37.639Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.639Z] def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.639Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] tests/test_filled.py:132:
[2024-06-23T21:30:37.639Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.639Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.639Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.639Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.639Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.639Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.639Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.639Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.639Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.639Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.639Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.639Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.639Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.639Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] """
[2024-06-23T21:30:37.639Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.639Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.639Z] elements drawn on the canvas.
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.639Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.639Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.639Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.639Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.639Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.639Z] interactive performance.
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.639Z] to the graph:
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.639Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.639Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.639Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.639Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.639Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.639Z] themselves.
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.639Z] of how to use transforms.
[2024-06-23T21:30:37.639Z] """
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.639Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.639Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] import copy
[2024-06-23T21:30:37.639Z] import functools
[2024-06-23T21:30:37.639Z] import textwrap
[2024-06-23T21:30:37.639Z] import weakref
[2024-06-23T21:30:37.639Z] import math
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] import numpy as np
[2024-06-23T21:30:37.639Z] from numpy.linalg import inv
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] from matplotlib import _api
[2024-06-23T21:30:37.639Z] > from matplotlib._path import (
[2024-06-23T21:30:37.639Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.639Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.639Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.639Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.639Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.639Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.639Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.639Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.639Z]
[2024-06-23T21:30:37.639Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.639Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.639Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.639Z] code = main()
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.639Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.639Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.639Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.639Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.639Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.640Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.640Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.640Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.640Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.640Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.640Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.640Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.640Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.640Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.640Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.640Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.640Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.640Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.640Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.640Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.640Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.640Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.640Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.640Z] item.runtest()
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.640Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.640Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.640Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.640Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.640Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.640Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 132, in test_filled_simple_no_corner_mask
[2024-06-23T21:30:37.640Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.640Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.640Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.640Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.640Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.640Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.640Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.640Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.640Z] from matplotlib._path import (
[2024-06-23T21:30:37.640Z] Traceback (most recent call last):
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.640Z] raise ImportError(msg)
[2024-06-23T21:30:37.640Z] ImportError:
[2024-06-23T21:30:37.640Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.640Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.640Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.640Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.640Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.640Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] _____ test_filled_simple_no_corner_mask[threaded-ChunkCombinedCodeOffset] ______
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] name = 'threaded', fill_type = <FillType.ChunkCombinedCodeOffset: 205>
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] @pytest.mark.image
[2024-06-23T21:30:37.640Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.640Z] def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.640Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] tests/test_filled.py:132:
[2024-06-23T21:30:37.640Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.640Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.640Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.640Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.640Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.640Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.640Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.640Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.640Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.640Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.640Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.640Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.640Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.640Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] """
[2024-06-23T21:30:37.640Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.640Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.640Z] elements drawn on the canvas.
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.640Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.640Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.640Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.640Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.640Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.640Z] interactive performance.
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.640Z] to the graph:
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.640Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.640Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.640Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.640Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.640Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.640Z] themselves.
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.640Z] of how to use transforms.
[2024-06-23T21:30:37.640Z] """
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.640Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.640Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] import copy
[2024-06-23T21:30:37.640Z] import functools
[2024-06-23T21:30:37.640Z] import textwrap
[2024-06-23T21:30:37.640Z] import weakref
[2024-06-23T21:30:37.640Z] import math
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] import numpy as np
[2024-06-23T21:30:37.640Z] from numpy.linalg import inv
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] from matplotlib import _api
[2024-06-23T21:30:37.640Z] > from matplotlib._path import (
[2024-06-23T21:30:37.640Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.640Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.640Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.640Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.640Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.640Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.640Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.640Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.640Z]
[2024-06-23T21:30:37.640Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.640Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.640Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.640Z] code = main()
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.640Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.640Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.640Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.640Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.640Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.640Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.640Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.640Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.640Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.641Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.641Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.641Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.641Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.641Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.641Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.641Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.641Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.641Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.641Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.641Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.641Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.641Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.641Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.641Z] item.runtest()
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.641Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.641Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.641Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.641Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.641Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.641Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 132, in test_filled_simple_no_corner_mask
[2024-06-23T21:30:37.641Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.641Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.641Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.641Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.641Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.641Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.641Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.641Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.641Z] from matplotlib._path import (
[2024-06-23T21:30:37.641Z] Traceback (most recent call last):
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.641Z] raise ImportError(msg)
[2024-06-23T21:30:37.641Z] ImportError:
[2024-06-23T21:30:37.641Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.641Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.641Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.641Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.641Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.641Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] ____ test_filled_simple_no_corner_mask[threaded-ChunkCombinedOffsetOffset] _____
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] name = 'threaded', fill_type = <FillType.ChunkCombinedOffsetOffset: 206>
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] @pytest.mark.image
[2024-06-23T21:30:37.641Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.641Z] def test_filled_simple_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.641Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] tests/test_filled.py:132:
[2024-06-23T21:30:37.641Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.641Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.641Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.641Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.641Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.641Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.641Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.641Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.641Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.641Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.641Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.641Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.641Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.641Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] """
[2024-06-23T21:30:37.641Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.641Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.641Z] elements drawn on the canvas.
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.641Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.641Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.641Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.641Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.641Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.641Z] interactive performance.
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.641Z] to the graph:
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.641Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.641Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.641Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.641Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.641Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.641Z] themselves.
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.641Z] of how to use transforms.
[2024-06-23T21:30:37.641Z] """
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.641Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.641Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] import copy
[2024-06-23T21:30:37.641Z] import functools
[2024-06-23T21:30:37.641Z] import textwrap
[2024-06-23T21:30:37.641Z] import weakref
[2024-06-23T21:30:37.641Z] import math
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] import numpy as np
[2024-06-23T21:30:37.641Z] from numpy.linalg import inv
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] from matplotlib import _api
[2024-06-23T21:30:37.641Z] > from matplotlib._path import (
[2024-06-23T21:30:37.641Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.641Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.641Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.641Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.641Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.641Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.641Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.641Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.641Z]
[2024-06-23T21:30:37.641Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.641Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.641Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.641Z] code = main()
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.641Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.641Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.641Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.641Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.641Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.641Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.641Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.641Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.641Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.641Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.641Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.641Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.641Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.641Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.642Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.642Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.642Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.642Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.642Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.642Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.642Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.642Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.642Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.642Z] item.runtest()
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.642Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.642Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.642Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.642Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.642Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.642Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 132, in test_filled_simple_no_corner_mask
[2024-06-23T21:30:37.642Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.642Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.642Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.642Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.642Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.642Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.642Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.642Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.642Z] from matplotlib._path import (
[2024-06-23T21:30:37.642Z] Traceback (most recent call last):
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.642Z] raise ImportError(msg)
[2024-06-23T21:30:37.642Z] ImportError:
[2024-06-23T21:30:37.642Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.642Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.642Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.642Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.642Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.642Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] __________ test_filled_simple_no_corner_mask_chunk[mpl2005-OuterCode] __________
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] name = 'mpl2005', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] @pytest.mark.image
[2024-06-23T21:30:37.642Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.642Z] def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.642Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] tests/test_filled.py:155:
[2024-06-23T21:30:37.642Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.642Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.642Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.642Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.642Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.642Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.642Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.642Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.642Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.642Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.642Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.642Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.642Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.642Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] """
[2024-06-23T21:30:37.642Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.642Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.642Z] elements drawn on the canvas.
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.642Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.642Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.642Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.642Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.642Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.642Z] interactive performance.
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.642Z] to the graph:
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.642Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.642Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.642Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.642Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.642Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.642Z] themselves.
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.642Z] of how to use transforms.
[2024-06-23T21:30:37.642Z] """
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.642Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.642Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] import copy
[2024-06-23T21:30:37.642Z] import functools
[2024-06-23T21:30:37.642Z] import textwrap
[2024-06-23T21:30:37.642Z] import weakref
[2024-06-23T21:30:37.642Z] import math
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] import numpy as np
[2024-06-23T21:30:37.642Z] from numpy.linalg import inv
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] from matplotlib import _api
[2024-06-23T21:30:37.642Z] > from matplotlib._path import (
[2024-06-23T21:30:37.642Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.642Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.642Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.642Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.642Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.642Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.642Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.642Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.642Z]
[2024-06-23T21:30:37.642Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.642Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.642Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.642Z] code = main()
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.642Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.642Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.642Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.642Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.642Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.642Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.642Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.642Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.642Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.642Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.642Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.642Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.642Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.643Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.643Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.643Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.643Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.643Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.643Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.643Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.643Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.643Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.643Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.643Z] item.runtest()
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.643Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.643Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.643Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.643Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.643Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.643Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask_chunk
[2024-06-23T21:30:37.643Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.643Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.643Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.643Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.643Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.643Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.643Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.643Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.643Z] from matplotlib._path import (
[2024-06-23T21:30:37.643Z] Traceback (most recent call last):
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.643Z] raise ImportError(msg)
[2024-06-23T21:30:37.643Z] ImportError:
[2024-06-23T21:30:37.643Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.643Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.643Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.643Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.643Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.643Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] __________ test_filled_simple_no_corner_mask_chunk[mpl2014-OuterCode] __________
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] name = 'mpl2014', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] @pytest.mark.image
[2024-06-23T21:30:37.643Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.643Z] def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.643Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] tests/test_filled.py:155:
[2024-06-23T21:30:37.643Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.643Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.643Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.643Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.643Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.643Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.643Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.643Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.643Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.643Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.643Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.643Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.643Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.643Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] """
[2024-06-23T21:30:37.643Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.643Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.643Z] elements drawn on the canvas.
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.643Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.643Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.643Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.643Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.643Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.643Z] interactive performance.
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.643Z] to the graph:
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.643Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.643Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.643Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.643Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.643Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.643Z] themselves.
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.643Z] of how to use transforms.
[2024-06-23T21:30:37.643Z] """
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.643Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.643Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] import copy
[2024-06-23T21:30:37.643Z] import functools
[2024-06-23T21:30:37.643Z] import textwrap
[2024-06-23T21:30:37.643Z] import weakref
[2024-06-23T21:30:37.643Z] import math
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] import numpy as np
[2024-06-23T21:30:37.643Z] from numpy.linalg import inv
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] from matplotlib import _api
[2024-06-23T21:30:37.643Z] > from matplotlib._path import (
[2024-06-23T21:30:37.643Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.643Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.643Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.643Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.643Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.643Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.643Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.643Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.643Z]
[2024-06-23T21:30:37.643Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.643Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.643Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.643Z] code = main()
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.643Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.643Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.643Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.643Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.643Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.643Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.643Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.643Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.643Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.643Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.643Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.643Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.643Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.643Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.643Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.643Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.643Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.643Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.644Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.644Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.644Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.644Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.644Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.644Z] item.runtest()
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.644Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.644Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.644Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.644Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.644Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.644Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask_chunk
[2024-06-23T21:30:37.644Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.644Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.644Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.644Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.644Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.644Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.644Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.644Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.644Z] from matplotlib._path import (
[2024-06-23T21:30:37.644Z] Traceback (most recent call last):
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.644Z] raise ImportError(msg)
[2024-06-23T21:30:37.644Z] ImportError:
[2024-06-23T21:30:37.644Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.644Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.644Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.644Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.644Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.644Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] __________ test_filled_simple_no_corner_mask_chunk[serial-OuterCode] ___________
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] name = 'serial', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] @pytest.mark.image
[2024-06-23T21:30:37.644Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.644Z] def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.644Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] tests/test_filled.py:155:
[2024-06-23T21:30:37.644Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.644Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.644Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.644Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.644Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.644Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.644Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.644Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.644Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.644Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.644Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.644Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.644Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.644Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] """
[2024-06-23T21:30:37.644Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.644Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.644Z] elements drawn on the canvas.
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.644Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.644Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.644Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.644Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.644Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.644Z] interactive performance.
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.644Z] to the graph:
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.644Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.644Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.644Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.644Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.644Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.644Z] themselves.
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.644Z] of how to use transforms.
[2024-06-23T21:30:37.644Z] """
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.644Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.644Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] import copy
[2024-06-23T21:30:37.644Z] import functools
[2024-06-23T21:30:37.644Z] import textwrap
[2024-06-23T21:30:37.644Z] import weakref
[2024-06-23T21:30:37.644Z] import math
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] import numpy as np
[2024-06-23T21:30:37.644Z] from numpy.linalg import inv
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] from matplotlib import _api
[2024-06-23T21:30:37.644Z] > from matplotlib._path import (
[2024-06-23T21:30:37.644Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.644Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.644Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.644Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.644Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.644Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.644Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.644Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.644Z]
[2024-06-23T21:30:37.644Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.644Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.644Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.644Z] code = main()
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.644Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.644Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.644Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.644Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.644Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.644Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.644Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.644Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.644Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.644Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.644Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.644Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.644Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.644Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.644Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.644Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.644Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.644Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.644Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.644Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.644Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.645Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.645Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.645Z] item.runtest()
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.645Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.645Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.645Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.645Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.645Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.645Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask_chunk
[2024-06-23T21:30:37.645Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.645Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.645Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.645Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.645Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.645Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.645Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.645Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.645Z] from matplotlib._path import (
[2024-06-23T21:30:37.645Z] Traceback (most recent call last):
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.645Z] raise ImportError(msg)
[2024-06-23T21:30:37.645Z] ImportError:
[2024-06-23T21:30:37.645Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.645Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.645Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.645Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.645Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.645Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] _________ test_filled_simple_no_corner_mask_chunk[serial-OuterOffset] __________
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] name = 'serial', fill_type = <FillType.OuterOffset: 202>
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] @pytest.mark.image
[2024-06-23T21:30:37.645Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.645Z] def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.645Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] tests/test_filled.py:155:
[2024-06-23T21:30:37.645Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.645Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.645Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.645Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.645Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.645Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.645Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.645Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.645Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.645Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.645Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.645Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.645Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.645Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] """
[2024-06-23T21:30:37.645Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.645Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.645Z] elements drawn on the canvas.
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.645Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.645Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.645Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.645Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.645Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.645Z] interactive performance.
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.645Z] to the graph:
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.645Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.645Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.645Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.645Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.645Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.645Z] themselves.
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.645Z] of how to use transforms.
[2024-06-23T21:30:37.645Z] """
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.645Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.645Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] import copy
[2024-06-23T21:30:37.645Z] import functools
[2024-06-23T21:30:37.645Z] import textwrap
[2024-06-23T21:30:37.645Z] import weakref
[2024-06-23T21:30:37.645Z] import math
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] import numpy as np
[2024-06-23T21:30:37.645Z] from numpy.linalg import inv
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] from matplotlib import _api
[2024-06-23T21:30:37.645Z] > from matplotlib._path import (
[2024-06-23T21:30:37.645Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.645Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.645Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.645Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.645Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.645Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.645Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.645Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.645Z]
[2024-06-23T21:30:37.645Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.645Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.645Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.645Z] code = main()
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.645Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.645Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.645Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.645Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.645Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.645Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.645Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.645Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.645Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.645Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.645Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.645Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.645Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.645Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.645Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.645Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.645Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.645Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.645Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.645Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.645Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.645Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.645Z] item.runtest()
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.645Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.645Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.645Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.646Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.646Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.646Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.646Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask_chunk
[2024-06-23T21:30:37.646Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.646Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.646Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.646Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.646Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.646Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.646Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.646Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.646Z] from matplotlib._path import (
[2024-06-23T21:30:37.646Z] Traceback (most recent call last):
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.646Z] raise ImportError(msg)
[2024-06-23T21:30:37.646Z] ImportError:
[2024-06-23T21:30:37.646Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.646Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.646Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.646Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.646Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.646Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] ______ test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedCode] _______
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] name = 'serial', fill_type = <FillType.ChunkCombinedCode: 203>
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] @pytest.mark.image
[2024-06-23T21:30:37.646Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.646Z] def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.646Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] tests/test_filled.py:155:
[2024-06-23T21:30:37.646Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.646Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.646Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.646Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.646Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.646Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.646Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.646Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.646Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.646Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.646Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.646Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.646Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.646Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] """
[2024-06-23T21:30:37.646Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.646Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.646Z] elements drawn on the canvas.
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.646Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.646Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.646Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.646Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.646Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.646Z] interactive performance.
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.646Z] to the graph:
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.646Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.646Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.646Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.646Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.646Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.646Z] themselves.
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.646Z] of how to use transforms.
[2024-06-23T21:30:37.646Z] """
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.646Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.646Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] import copy
[2024-06-23T21:30:37.646Z] import functools
[2024-06-23T21:30:37.646Z] import textwrap
[2024-06-23T21:30:37.646Z] import weakref
[2024-06-23T21:30:37.646Z] import math
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] import numpy as np
[2024-06-23T21:30:37.646Z] from numpy.linalg import inv
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] from matplotlib import _api
[2024-06-23T21:30:37.646Z] > from matplotlib._path import (
[2024-06-23T21:30:37.646Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.646Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.646Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.646Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.646Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.646Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.646Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.646Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.646Z]
[2024-06-23T21:30:37.646Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.646Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.646Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.646Z] code = main()
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.646Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.646Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.646Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.646Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.646Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.646Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.646Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.646Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.646Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.646Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.646Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.646Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.646Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.646Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.646Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.646Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.646Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.646Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.646Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.646Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.646Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.646Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.646Z] item.runtest()
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.646Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.646Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.646Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.646Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.646Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.646Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.646Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask_chunk
[2024-06-23T21:30:37.646Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.647Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.647Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.647Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.647Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.647Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.647Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.647Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.647Z] from matplotlib._path import (
[2024-06-23T21:30:37.647Z] Traceback (most recent call last):
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.647Z] raise ImportError(msg)
[2024-06-23T21:30:37.647Z] ImportError:
[2024-06-23T21:30:37.647Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.647Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.647Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.647Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.647Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.647Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] _____ test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedOffset] ______
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] name = 'serial', fill_type = <FillType.ChunkCombinedOffset: 204>
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] @pytest.mark.image
[2024-06-23T21:30:37.647Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.647Z] def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.647Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] tests/test_filled.py:155:
[2024-06-23T21:30:37.647Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.647Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.647Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.647Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.647Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.647Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.647Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.647Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.647Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.647Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.647Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.647Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.647Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.647Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] """
[2024-06-23T21:30:37.647Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.647Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.647Z] elements drawn on the canvas.
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.647Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.647Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.647Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.647Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.647Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.647Z] interactive performance.
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.647Z] to the graph:
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.647Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.647Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.647Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.647Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.647Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.647Z] themselves.
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.647Z] of how to use transforms.
[2024-06-23T21:30:37.647Z] """
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.647Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.647Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] import copy
[2024-06-23T21:30:37.647Z] import functools
[2024-06-23T21:30:37.647Z] import textwrap
[2024-06-23T21:30:37.647Z] import weakref
[2024-06-23T21:30:37.647Z] import math
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] import numpy as np
[2024-06-23T21:30:37.647Z] from numpy.linalg import inv
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] from matplotlib import _api
[2024-06-23T21:30:37.647Z] > from matplotlib._path import (
[2024-06-23T21:30:37.647Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.647Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.647Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.647Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.647Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.647Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.647Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.647Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.647Z]
[2024-06-23T21:30:37.647Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.647Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.647Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.647Z] code = main()
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.647Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.647Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.647Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.647Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.647Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.647Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.647Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.647Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.647Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.647Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.647Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.647Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.647Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.647Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.647Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.647Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.647Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.647Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.647Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.647Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.647Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.647Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.647Z] item.runtest()
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.647Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.647Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.647Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.647Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.647Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.647Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.648Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask_chunk
[2024-06-23T21:30:37.648Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.648Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.648Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.648Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.648Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.648Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.648Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.648Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.648Z] from matplotlib._path import (
[2024-06-23T21:30:37.648Z] Traceback (most recent call last):
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.648Z] raise ImportError(msg)
[2024-06-23T21:30:37.648Z] ImportError:
[2024-06-23T21:30:37.648Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.648Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.648Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.648Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.648Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.648Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] ___ test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedCodeOffset] ____
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] name = 'serial', fill_type = <FillType.ChunkCombinedCodeOffset: 205>
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] @pytest.mark.image
[2024-06-23T21:30:37.648Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.648Z] def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.648Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] tests/test_filled.py:155:
[2024-06-23T21:30:37.648Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.648Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.648Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.648Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.648Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.648Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.648Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.648Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.648Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.648Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.648Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.648Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.648Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.648Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] """
[2024-06-23T21:30:37.648Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.648Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.648Z] elements drawn on the canvas.
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.648Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.648Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.648Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.648Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.648Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.648Z] interactive performance.
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.648Z] to the graph:
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.648Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.648Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.648Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.648Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.648Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.648Z] themselves.
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.648Z] of how to use transforms.
[2024-06-23T21:30:37.648Z] """
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.648Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.648Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] import copy
[2024-06-23T21:30:37.648Z] import functools
[2024-06-23T21:30:37.648Z] import textwrap
[2024-06-23T21:30:37.648Z] import weakref
[2024-06-23T21:30:37.648Z] import math
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] import numpy as np
[2024-06-23T21:30:37.648Z] from numpy.linalg import inv
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] from matplotlib import _api
[2024-06-23T21:30:37.648Z] > from matplotlib._path import (
[2024-06-23T21:30:37.648Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.648Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.648Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.648Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.648Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.648Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.648Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.648Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.648Z]
[2024-06-23T21:30:37.648Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.648Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.648Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.648Z] code = main()
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.648Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.648Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.648Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.648Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.648Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.648Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.648Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.648Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.648Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.648Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.648Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.648Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.648Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.648Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.648Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.648Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.648Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.648Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.648Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.648Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.648Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.648Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.648Z] item.runtest()
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.648Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.648Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.648Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.648Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.648Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.648Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask_chunk
[2024-06-23T21:30:37.648Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.648Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.648Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.648Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.648Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.648Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.648Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.649Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.649Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.649Z] from matplotlib._path import (
[2024-06-23T21:30:37.649Z] Traceback (most recent call last):
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.649Z] raise ImportError(msg)
[2024-06-23T21:30:37.649Z] ImportError:
[2024-06-23T21:30:37.649Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.649Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.649Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.649Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.649Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.649Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] __ test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedOffsetOffset] ___
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] name = 'serial', fill_type = <FillType.ChunkCombinedOffsetOffset: 206>
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] @pytest.mark.image
[2024-06-23T21:30:37.649Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.649Z] def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.649Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] tests/test_filled.py:155:
[2024-06-23T21:30:37.649Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.649Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.649Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.649Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.649Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.649Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.649Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.649Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.649Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.649Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.649Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.649Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.649Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.649Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] """
[2024-06-23T21:30:37.649Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.649Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.649Z] elements drawn on the canvas.
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.649Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.649Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.649Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.649Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.649Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.649Z] interactive performance.
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.649Z] to the graph:
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.649Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.649Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.649Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.649Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.649Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.649Z] themselves.
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.649Z] of how to use transforms.
[2024-06-23T21:30:37.649Z] """
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.649Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.649Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] import copy
[2024-06-23T21:30:37.649Z] import functools
[2024-06-23T21:30:37.649Z] import textwrap
[2024-06-23T21:30:37.649Z] import weakref
[2024-06-23T21:30:37.649Z] import math
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] import numpy as np
[2024-06-23T21:30:37.649Z] from numpy.linalg import inv
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] from matplotlib import _api
[2024-06-23T21:30:37.649Z] > from matplotlib._path import (
[2024-06-23T21:30:37.649Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.649Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.649Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.649Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.649Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.649Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.649Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.649Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.649Z]
[2024-06-23T21:30:37.649Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.649Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.649Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.649Z] code = main()
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.649Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.649Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.649Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.649Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.649Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.649Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.649Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.649Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.649Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.649Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.649Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.649Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.649Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.649Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.649Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.649Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.649Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.649Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.649Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.649Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.649Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.649Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.649Z] item.runtest()
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.649Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.649Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.649Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.649Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.649Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.649Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask_chunk
[2024-06-23T21:30:37.649Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.649Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.649Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.649Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.649Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.649Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.649Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.649Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.649Z] from matplotlib._path import (
[2024-06-23T21:30:37.649Z] Traceback (most recent call last):
[2024-06-23T21:30:37.649Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.649Z] raise ImportError(msg)
[2024-06-23T21:30:37.649Z] ImportError:
[2024-06-23T21:30:37.649Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.650Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.650Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.650Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.650Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.650Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] _________ test_filled_simple_no_corner_mask_chunk[threaded-OuterCode] __________
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] name = 'threaded', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] @pytest.mark.image
[2024-06-23T21:30:37.650Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.650Z] def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.650Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] tests/test_filled.py:155:
[2024-06-23T21:30:37.650Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.650Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.650Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.650Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.650Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.650Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.650Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.650Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.650Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.650Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.650Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.650Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.650Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.650Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] """
[2024-06-23T21:30:37.650Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.650Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.650Z] elements drawn on the canvas.
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.650Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.650Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.650Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.650Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.650Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.650Z] interactive performance.
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.650Z] to the graph:
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.650Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.650Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.650Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.650Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.650Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.650Z] themselves.
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.650Z] of how to use transforms.
[2024-06-23T21:30:37.650Z] """
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.650Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.650Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] import copy
[2024-06-23T21:30:37.650Z] import functools
[2024-06-23T21:30:37.650Z] import textwrap
[2024-06-23T21:30:37.650Z] import weakref
[2024-06-23T21:30:37.650Z] import math
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] import numpy as np
[2024-06-23T21:30:37.650Z] from numpy.linalg import inv
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] from matplotlib import _api
[2024-06-23T21:30:37.650Z] > from matplotlib._path import (
[2024-06-23T21:30:37.650Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.650Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.650Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.650Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.650Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.650Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.650Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.650Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.650Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.650Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.650Z] code = main()
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.650Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.650Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.650Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.650Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.650Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.650Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.650Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.650Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.650Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.650Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.650Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.650Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.650Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.650Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.650Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.650Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.650Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.650Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.650Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.650Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.650Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.650Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.650Z] item.runtest()
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.650Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.650Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.650Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.650Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.650Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.650Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask_chunk
[2024-06-23T21:30:37.650Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.650Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.650Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.650Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.650Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.650Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.650Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.650Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.650Z] from matplotlib._path import (
[2024-06-23T21:30:37.650Z] Traceback (most recent call last):
[2024-06-23T21:30:37.650Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.650Z] raise ImportError(msg)
[2024-06-23T21:30:37.650Z] ImportError:
[2024-06-23T21:30:37.650Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.650Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.650Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.650Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.650Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.650Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] ________ test_filled_simple_no_corner_mask_chunk[threaded-OuterOffset] _________
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] name = 'threaded', fill_type = <FillType.OuterOffset: 202>
[2024-06-23T21:30:37.650Z]
[2024-06-23T21:30:37.650Z] @pytest.mark.image
[2024-06-23T21:30:37.651Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.651Z] def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.651Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.651Z] tests/test_filled.py:155:
[2024-06-23T21:30:37.651Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.651Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.651Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.651Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.651Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.651Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.651Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.651Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.651Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.651Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.651Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.651Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.651Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.651Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.651Z] """
[2024-06-23T21:30:37.651Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.651Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.651Z] elements drawn on the canvas.
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.651Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.651Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.651Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.651Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.651Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.651Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.651Z] interactive performance.
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.651Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.651Z] to the graph:
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.651Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.651Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.651Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.651Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.651Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.651Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.651Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.651Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.651Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.651Z] themselves.
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.651Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.651Z] of how to use transforms.
[2024-06-23T21:30:37.651Z] """
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.651Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.651Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.651Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.651Z] import copy
[2024-06-23T21:30:37.651Z] import functools
[2024-06-23T21:30:37.651Z] import textwrap
[2024-06-23T21:30:37.651Z] import weakref
[2024-06-23T21:30:37.651Z] import math
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.651Z] import numpy as np
[2024-06-23T21:30:37.651Z] from numpy.linalg import inv
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.651Z] from matplotlib import _api
[2024-06-23T21:30:37.651Z] > from matplotlib._path import (
[2024-06-23T21:30:37.651Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.651Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.651Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.651Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.651Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.651Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.651Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.651Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.651Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.651Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.651Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.651Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.651Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.651Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.651Z] code = main()
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.651Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.651Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.651Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.651Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.651Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.651Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.651Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.651Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.651Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.651Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.651Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.651Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.651Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.651Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.651Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.651Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.651Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.651Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.651Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.651Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.651Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.651Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.651Z] item.runtest()
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.651Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.651Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.651Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.651Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.651Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.651Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask_chunk
[2024-06-23T21:30:37.651Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.651Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.651Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.651Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.651Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.651Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.651Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.651Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.651Z] from matplotlib._path import (
[2024-06-23T21:30:37.651Z] Traceback (most recent call last):
[2024-06-23T21:30:37.651Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.651Z] raise ImportError(msg)
[2024-06-23T21:30:37.651Z] ImportError:
[2024-06-23T21:30:37.651Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.651Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.651Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.651Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.651Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.651Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.651Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.651Z]
[2024-06-23T21:30:37.652Z] _____ test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedCode] ______
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] name = 'threaded', fill_type = <FillType.ChunkCombinedCode: 203>
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] @pytest.mark.image
[2024-06-23T21:30:37.652Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.652Z] def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.652Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] tests/test_filled.py:155:
[2024-06-23T21:30:37.652Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.652Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.652Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.652Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.652Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.652Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.652Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.652Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.652Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.652Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.652Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.652Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.652Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.652Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] """
[2024-06-23T21:30:37.652Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.652Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.652Z] elements drawn on the canvas.
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.652Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.652Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.652Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.652Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.652Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.652Z] interactive performance.
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.652Z] to the graph:
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.652Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.652Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.652Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.652Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.652Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.652Z] themselves.
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.652Z] of how to use transforms.
[2024-06-23T21:30:37.652Z] """
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.652Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.652Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] import copy
[2024-06-23T21:30:37.652Z] import functools
[2024-06-23T21:30:37.652Z] import textwrap
[2024-06-23T21:30:37.652Z] import weakref
[2024-06-23T21:30:37.652Z] import math
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] import numpy as np
[2024-06-23T21:30:37.652Z] from numpy.linalg import inv
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] from matplotlib import _api
[2024-06-23T21:30:37.652Z] > from matplotlib._path import (
[2024-06-23T21:30:37.652Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.652Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.652Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.652Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.652Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.652Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.652Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.652Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.652Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.652Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.652Z] code = main()
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.652Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.652Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.652Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.652Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.652Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.652Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.652Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.652Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.652Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.652Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.652Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.652Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.652Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.652Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.652Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.652Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.652Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.652Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.652Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.652Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.652Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.652Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.652Z] item.runtest()
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.652Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.652Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.652Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.652Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.652Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.652Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask_chunk
[2024-06-23T21:30:37.652Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.652Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.652Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.652Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.652Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.652Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.652Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.652Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.652Z] from matplotlib._path import (
[2024-06-23T21:30:37.652Z] Traceback (most recent call last):
[2024-06-23T21:30:37.652Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.652Z] raise ImportError(msg)
[2024-06-23T21:30:37.652Z] ImportError:
[2024-06-23T21:30:37.652Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.652Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.652Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.652Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.652Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.652Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] ____ test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedOffset] _____
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] name = 'threaded', fill_type = <FillType.ChunkCombinedOffset: 204>
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] @pytest.mark.image
[2024-06-23T21:30:37.652Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.652Z] def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.652Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.652Z]
[2024-06-23T21:30:37.652Z] tests/test_filled.py:155:
[2024-06-23T21:30:37.652Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.652Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.653Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.653Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.653Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.653Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.653Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.653Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.653Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.653Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.653Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.653Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.653Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.653Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] """
[2024-06-23T21:30:37.653Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.653Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.653Z] elements drawn on the canvas.
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.653Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.653Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.653Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.653Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.653Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.653Z] interactive performance.
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.653Z] to the graph:
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.653Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.653Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.653Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.653Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.653Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.653Z] themselves.
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.653Z] of how to use transforms.
[2024-06-23T21:30:37.653Z] """
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.653Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.653Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] import copy
[2024-06-23T21:30:37.653Z] import functools
[2024-06-23T21:30:37.653Z] import textwrap
[2024-06-23T21:30:37.653Z] import weakref
[2024-06-23T21:30:37.653Z] import math
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] import numpy as np
[2024-06-23T21:30:37.653Z] from numpy.linalg import inv
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] from matplotlib import _api
[2024-06-23T21:30:37.653Z] > from matplotlib._path import (
[2024-06-23T21:30:37.653Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.653Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.653Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.653Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.653Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.653Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.653Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.653Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.653Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.653Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.653Z] code = main()
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.653Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.653Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.653Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.653Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.653Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.653Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.653Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.653Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.653Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.653Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.653Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.653Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.653Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.653Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.653Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.653Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.653Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.653Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.653Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.653Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.653Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.653Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.653Z] item.runtest()
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.653Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.653Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.653Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.653Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.653Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.653Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask_chunk
[2024-06-23T21:30:37.653Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.653Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.653Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.653Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.653Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.653Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.653Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.653Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.653Z] from matplotlib._path import (
[2024-06-23T21:30:37.653Z] Traceback (most recent call last):
[2024-06-23T21:30:37.653Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.653Z] raise ImportError(msg)
[2024-06-23T21:30:37.653Z] ImportError:
[2024-06-23T21:30:37.653Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.653Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.653Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.653Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.653Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.653Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] __ test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedCodeOffset] ___
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] name = 'threaded', fill_type = <FillType.ChunkCombinedCodeOffset: 205>
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] @pytest.mark.image
[2024-06-23T21:30:37.653Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.653Z] def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.653Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.653Z]
[2024-06-23T21:30:37.653Z] tests/test_filled.py:155:
[2024-06-23T21:30:37.653Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.653Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.653Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.653Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.653Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.653Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.653Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.653Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.653Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.653Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.653Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.653Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.653Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.654Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] """
[2024-06-23T21:30:37.654Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.654Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.654Z] elements drawn on the canvas.
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.654Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.654Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.654Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.654Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.654Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.654Z] interactive performance.
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.654Z] to the graph:
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.654Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.654Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.654Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.654Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.654Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.654Z] themselves.
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.654Z] of how to use transforms.
[2024-06-23T21:30:37.654Z] """
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.654Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.654Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] import copy
[2024-06-23T21:30:37.654Z] import functools
[2024-06-23T21:30:37.654Z] import textwrap
[2024-06-23T21:30:37.654Z] import weakref
[2024-06-23T21:30:37.654Z] import math
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] import numpy as np
[2024-06-23T21:30:37.654Z] from numpy.linalg import inv
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] from matplotlib import _api
[2024-06-23T21:30:37.654Z] > from matplotlib._path import (
[2024-06-23T21:30:37.654Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.654Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.654Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.654Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.654Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.654Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.654Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.654Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.654Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.654Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.654Z] code = main()
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.654Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.654Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.654Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.654Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.654Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.654Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.654Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.654Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.654Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.654Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.654Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.654Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.654Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.654Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.654Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.654Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.654Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.654Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.654Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.654Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.654Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.654Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.654Z] item.runtest()
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.654Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.654Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.654Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.654Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.654Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.654Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask_chunk
[2024-06-23T21:30:37.654Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.654Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.654Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.654Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.654Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.654Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.654Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.654Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.654Z] from matplotlib._path import (
[2024-06-23T21:30:37.654Z] Traceback (most recent call last):
[2024-06-23T21:30:37.654Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.654Z] raise ImportError(msg)
[2024-06-23T21:30:37.654Z] ImportError:
[2024-06-23T21:30:37.654Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.654Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.654Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.654Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.654Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.654Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] _ test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedOffsetOffset] __
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] name = 'threaded', fill_type = <FillType.ChunkCombinedOffsetOffset: 206>
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] @pytest.mark.image
[2024-06-23T21:30:37.654Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.654Z] def test_filled_simple_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.654Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] tests/test_filled.py:155:
[2024-06-23T21:30:37.654Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.654Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.654Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.654Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.654Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.654Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.654Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.654Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.654Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.654Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.654Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.654Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.654Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.654Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] """
[2024-06-23T21:30:37.654Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.654Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.654Z] elements drawn on the canvas.
[2024-06-23T21:30:37.654Z]
[2024-06-23T21:30:37.654Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.654Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.654Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.655Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.655Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.655Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.655Z] interactive performance.
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.655Z] to the graph:
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.655Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.655Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.655Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.655Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.655Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.655Z] themselves.
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.655Z] of how to use transforms.
[2024-06-23T21:30:37.655Z] """
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.655Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.655Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] import copy
[2024-06-23T21:30:37.655Z] import functools
[2024-06-23T21:30:37.655Z] import textwrap
[2024-06-23T21:30:37.655Z] import weakref
[2024-06-23T21:30:37.655Z] import math
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] import numpy as np
[2024-06-23T21:30:37.655Z] from numpy.linalg import inv
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] from matplotlib import _api
[2024-06-23T21:30:37.655Z] > from matplotlib._path import (
[2024-06-23T21:30:37.655Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.655Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.655Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.655Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.655Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.655Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.655Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.655Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.655Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.655Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.655Z] code = main()
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.655Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.655Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.655Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.655Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.655Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.655Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.655Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.655Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.655Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.655Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.655Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.655Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.655Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.655Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.655Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.655Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.655Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.655Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.655Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.655Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.655Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.655Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.655Z] item.runtest()
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.655Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.655Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.655Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.655Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.655Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.655Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 155, in test_filled_simple_no_corner_mask_chunk
[2024-06-23T21:30:37.655Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.655Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.655Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.655Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.655Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.655Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.655Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.655Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.655Z] from matplotlib._path import (
[2024-06-23T21:30:37.655Z] Traceback (most recent call last):
[2024-06-23T21:30:37.655Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.655Z] raise ImportError(msg)
[2024-06-23T21:30:37.655Z] ImportError:
[2024-06-23T21:30:37.655Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.655Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.655Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.655Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.655Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.655Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] _________ test_filled_simple_no_corner_mask_chunk_threads[2-OuterCode] _________
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] fill_type = <FillType.OuterCode: 201>, thread_count = 2
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] @pytest.mark.image
[2024-06-23T21:30:37.655Z] @pytest.mark.threads
[2024-06-23T21:30:37.655Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.655Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.655Z] def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.655Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] tests/test_filled.py:185:
[2024-06-23T21:30:37.655Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.655Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.655Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.655Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.655Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.655Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.655Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.655Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.655Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.655Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.655Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.655Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.655Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.655Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.655Z]
[2024-06-23T21:30:37.655Z] """
[2024-06-23T21:30:37.655Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.656Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.656Z] elements drawn on the canvas.
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.656Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.656Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.656Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.656Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.656Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.656Z] interactive performance.
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.656Z] to the graph:
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.656Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.656Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.656Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.656Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.656Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.656Z] themselves.
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.656Z] of how to use transforms.
[2024-06-23T21:30:37.656Z] """
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.656Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.656Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] import copy
[2024-06-23T21:30:37.656Z] import functools
[2024-06-23T21:30:37.656Z] import textwrap
[2024-06-23T21:30:37.656Z] import weakref
[2024-06-23T21:30:37.656Z] import math
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] import numpy as np
[2024-06-23T21:30:37.656Z] from numpy.linalg import inv
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] from matplotlib import _api
[2024-06-23T21:30:37.656Z] > from matplotlib._path import (
[2024-06-23T21:30:37.656Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.656Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.656Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.656Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.656Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.656Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.656Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.656Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.656Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.656Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.656Z] code = main()
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.656Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.656Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.656Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.656Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.656Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.656Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.656Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.656Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.656Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.656Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.656Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.656Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.656Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.656Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.656Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.656Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.656Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.656Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.656Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.656Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.656Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.656Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.656Z] item.runtest()
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.656Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.656Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.656Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.656Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.656Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.656Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 185, in test_filled_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.656Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.656Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.656Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.656Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.656Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.656Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.656Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.656Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.656Z] from matplotlib._path import (
[2024-06-23T21:30:37.656Z] Traceback (most recent call last):
[2024-06-23T21:30:37.656Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.656Z] raise ImportError(msg)
[2024-06-23T21:30:37.656Z] ImportError:
[2024-06-23T21:30:37.656Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.656Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.656Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.656Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.656Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.656Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] ________ test_filled_simple_no_corner_mask_chunk_threads[2-OuterOffset] ________
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] fill_type = <FillType.OuterOffset: 202>, thread_count = 2
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] @pytest.mark.image
[2024-06-23T21:30:37.656Z] @pytest.mark.threads
[2024-06-23T21:30:37.656Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.656Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.656Z] def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.656Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] tests/test_filled.py:185:
[2024-06-23T21:30:37.656Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.656Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.656Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.656Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.656Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.656Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.656Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.656Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.656Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.656Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.656Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.656Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.656Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.656Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] """
[2024-06-23T21:30:37.656Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.656Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.656Z] elements drawn on the canvas.
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.656Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.656Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.656Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.656Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.656Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.656Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.656Z] interactive performance.
[2024-06-23T21:30:37.656Z]
[2024-06-23T21:30:37.657Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.657Z] to the graph:
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.657Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.657Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.657Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.657Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.657Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.657Z] themselves.
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.657Z] of how to use transforms.
[2024-06-23T21:30:37.657Z] """
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.657Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.657Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] import copy
[2024-06-23T21:30:37.657Z] import functools
[2024-06-23T21:30:37.657Z] import textwrap
[2024-06-23T21:30:37.657Z] import weakref
[2024-06-23T21:30:37.657Z] import math
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] import numpy as np
[2024-06-23T21:30:37.657Z] from numpy.linalg import inv
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] from matplotlib import _api
[2024-06-23T21:30:37.657Z] > from matplotlib._path import (
[2024-06-23T21:30:37.657Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.657Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.657Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.657Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.657Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.657Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.657Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.657Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.657Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.657Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.657Z] code = main()
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.657Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.657Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.657Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.657Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.657Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.657Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.657Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.657Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.657Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.657Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.657Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.657Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.657Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.657Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.657Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.657Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.657Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.657Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.657Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.657Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.657Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.657Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.657Z] item.runtest()
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.657Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.657Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.657Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.657Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.657Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.657Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 185, in test_filled_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.657Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.657Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.657Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.657Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.657Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.657Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.657Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.657Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.657Z] from matplotlib._path import (
[2024-06-23T21:30:37.657Z] Traceback (most recent call last):
[2024-06-23T21:30:37.657Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.657Z] raise ImportError(msg)
[2024-06-23T21:30:37.657Z] ImportError:
[2024-06-23T21:30:37.657Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.657Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.657Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.657Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.657Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.657Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] _____ test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedCode] _____
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] fill_type = <FillType.ChunkCombinedCode: 203>, thread_count = 2
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] @pytest.mark.image
[2024-06-23T21:30:37.657Z] @pytest.mark.threads
[2024-06-23T21:30:37.657Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.657Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.657Z] def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.657Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] tests/test_filled.py:185:
[2024-06-23T21:30:37.657Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.657Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.657Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.657Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.657Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.657Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.657Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.657Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.657Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.657Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.657Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.657Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.657Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.657Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] """
[2024-06-23T21:30:37.657Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.657Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.657Z] elements drawn on the canvas.
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.657Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.657Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.657Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.657Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.657Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.657Z] interactive performance.
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.657Z] to the graph:
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.657Z]
[2024-06-23T21:30:37.657Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.657Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.657Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.657Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.658Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.658Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.658Z] themselves.
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.658Z] of how to use transforms.
[2024-06-23T21:30:37.658Z] """
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.658Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.658Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] import copy
[2024-06-23T21:30:37.658Z] import functools
[2024-06-23T21:30:37.658Z] import textwrap
[2024-06-23T21:30:37.658Z] import weakref
[2024-06-23T21:30:37.658Z] import math
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] import numpy as np
[2024-06-23T21:30:37.658Z] from numpy.linalg import inv
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] from matplotlib import _api
[2024-06-23T21:30:37.658Z] > from matplotlib._path import (
[2024-06-23T21:30:37.658Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.658Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.658Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.658Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.658Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.658Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.658Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.658Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.658Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.658Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.658Z] code = main()
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.658Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.658Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.658Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.658Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.658Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.658Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.658Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.658Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.658Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.658Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.658Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.658Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.658Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.658Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.658Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.658Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.658Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.658Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.658Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.658Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.658Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.658Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.658Z] item.runtest()
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.658Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.658Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.658Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.658Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.658Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.658Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 185, in test_filled_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.658Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.658Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.658Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.658Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.658Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.658Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.658Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.658Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.658Z] from matplotlib._path import (
[2024-06-23T21:30:37.658Z] Traceback (most recent call last):
[2024-06-23T21:30:37.658Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.658Z] raise ImportError(msg)
[2024-06-23T21:30:37.658Z] ImportError:
[2024-06-23T21:30:37.658Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.658Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.658Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.658Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.658Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.658Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] ____ test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] ____
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] fill_type = <FillType.ChunkCombinedOffset: 204>, thread_count = 2
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] @pytest.mark.image
[2024-06-23T21:30:37.658Z] @pytest.mark.threads
[2024-06-23T21:30:37.658Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.658Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.658Z] def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.658Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] tests/test_filled.py:185:
[2024-06-23T21:30:37.658Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.658Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.658Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.658Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.658Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.658Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.658Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.658Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.658Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.658Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.658Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.658Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.658Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.658Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] """
[2024-06-23T21:30:37.658Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.658Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.658Z] elements drawn on the canvas.
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.658Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.658Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.658Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.658Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.658Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.658Z] interactive performance.
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.658Z] to the graph:
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.658Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.658Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.658Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.658Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.658Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.658Z] themselves.
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.658Z] of how to use transforms.
[2024-06-23T21:30:37.658Z] """
[2024-06-23T21:30:37.658Z]
[2024-06-23T21:30:37.658Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.659Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.659Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.659Z]
[2024-06-23T21:30:37.659Z] import copy
[2024-06-23T21:30:37.659Z] import functools
[2024-06-23T21:30:37.659Z] import textwrap
[2024-06-23T21:30:37.659Z] import weakref
[2024-06-23T21:30:37.659Z] import math
[2024-06-23T21:30:37.659Z]
[2024-06-23T21:30:37.659Z] import numpy as np
[2024-06-23T21:30:37.659Z] from numpy.linalg import inv
[2024-06-23T21:30:37.659Z]
[2024-06-23T21:30:37.659Z] from matplotlib import _api
[2024-06-23T21:30:37.659Z] > from matplotlib._path import (
[2024-06-23T21:30:37.659Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.659Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.659Z]
[2024-06-23T21:30:37.659Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.659Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.659Z]
[2024-06-23T21:30:37.659Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.659Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.659Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.659Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.659Z]
[2024-06-23T21:30:37.659Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.659Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.659Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.659Z]
[2024-06-23T21:30:37.659Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.659Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.659Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.659Z] code = main()
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.659Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.659Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.659Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.659Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.659Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.659Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.659Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.659Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.659Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.659Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.659Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.659Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.659Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.659Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.659Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.659Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.659Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.659Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.659Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.659Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.659Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.659Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.659Z] item.runtest()
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.659Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.659Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.659Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.659Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.659Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.659Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 185, in test_filled_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.659Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.659Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.659Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.659Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.659Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.659Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.659Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.659Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.659Z] from matplotlib._path import (
[2024-06-23T21:30:37.659Z] Traceback (most recent call last):
[2024-06-23T21:30:37.659Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.659Z] raise ImportError(msg)
[2024-06-23T21:30:37.659Z] ImportError:
[2024-06-23T21:30:37.659Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.659Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.659Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.659Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.659Z]
[2024-06-23T21:30:37.659Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.659Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.659Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.659Z]
[2024-06-23T21:30:37.659Z]
[2024-06-23T21:30:37.659Z] __ test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] __
[2024-06-23T21:30:37.659Z]
[2024-06-23T21:30:37.659Z] fill_type = <FillType.ChunkCombinedCodeOffset: 205>, thread_count = 2
[2024-06-23T21:30:37.659Z]
[2024-06-23T21:30:37.659Z] @pytest.mark.image
[2024-06-23T21:30:37.659Z] @pytest.mark.threads
[2024-06-23T21:30:37.659Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.659Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.659Z] def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.659Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.659Z]
[2024-06-23T21:30:37.659Z] tests/test_filled.py:185:
[2024-06-23T21:30:37.659Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.659Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.659Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.659Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.659Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.659Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.659Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.659Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.659Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.659Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.659Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.659Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.659Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.659Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.659Z]
[2024-06-23T21:30:37.659Z] """
[2024-06-23T21:30:37.659Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.659Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.659Z] elements drawn on the canvas.
[2024-06-23T21:30:37.659Z]
[2024-06-23T21:30:37.659Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.659Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.659Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.659Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.659Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.659Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.659Z] interactive performance.
[2024-06-23T21:30:37.659Z]
[2024-06-23T21:30:37.659Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.659Z] to the graph:
[2024-06-23T21:30:37.659Z]
[2024-06-23T21:30:37.659Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.659Z]
[2024-06-23T21:30:37.659Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.659Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.659Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.659Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.659Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.659Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.659Z]
[2024-06-23T21:30:37.659Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.660Z] themselves.
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.660Z] of how to use transforms.
[2024-06-23T21:30:37.660Z] """
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.660Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.660Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] import copy
[2024-06-23T21:30:37.660Z] import functools
[2024-06-23T21:30:37.660Z] import textwrap
[2024-06-23T21:30:37.660Z] import weakref
[2024-06-23T21:30:37.660Z] import math
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] import numpy as np
[2024-06-23T21:30:37.660Z] from numpy.linalg import inv
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] from matplotlib import _api
[2024-06-23T21:30:37.660Z] > from matplotlib._path import (
[2024-06-23T21:30:37.660Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.660Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.660Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.660Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.660Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.660Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.660Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.660Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.660Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.660Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.660Z] code = main()
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.660Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.660Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.660Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.660Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.660Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.660Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.660Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.660Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.660Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.660Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.660Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.660Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.660Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.660Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.660Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.660Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.660Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.660Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.660Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.660Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.660Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.660Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.660Z] item.runtest()
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.660Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.660Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.660Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.660Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.660Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.660Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 185, in test_filled_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.660Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.660Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.660Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.660Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.660Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.660Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.660Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.660Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.660Z] from matplotlib._path import (
[2024-06-23T21:30:37.660Z] Traceback (most recent call last):
[2024-06-23T21:30:37.660Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.660Z] raise ImportError(msg)
[2024-06-23T21:30:37.660Z] ImportError:
[2024-06-23T21:30:37.660Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.660Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.660Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.660Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.660Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.660Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] _ test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] _
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] fill_type = <FillType.ChunkCombinedOffsetOffset: 206>, thread_count = 2
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] @pytest.mark.image
[2024-06-23T21:30:37.660Z] @pytest.mark.threads
[2024-06-23T21:30:37.660Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.660Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.660Z] def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.660Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] tests/test_filled.py:185:
[2024-06-23T21:30:37.660Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.660Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.660Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.660Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.660Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.660Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.660Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.660Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.660Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.660Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.660Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.660Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.660Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.660Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] """
[2024-06-23T21:30:37.660Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.660Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.660Z] elements drawn on the canvas.
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.660Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.660Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.660Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.660Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.660Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.660Z] interactive performance.
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.660Z] to the graph:
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.660Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.660Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.660Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.660Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.660Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.660Z] themselves.
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.660Z] of how to use transforms.
[2024-06-23T21:30:37.660Z] """
[2024-06-23T21:30:37.660Z]
[2024-06-23T21:30:37.660Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.661Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.661Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] import copy
[2024-06-23T21:30:37.661Z] import functools
[2024-06-23T21:30:37.661Z] import textwrap
[2024-06-23T21:30:37.661Z] import weakref
[2024-06-23T21:30:37.661Z] import math
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] import numpy as np
[2024-06-23T21:30:37.661Z] from numpy.linalg import inv
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] from matplotlib import _api
[2024-06-23T21:30:37.661Z] > from matplotlib._path import (
[2024-06-23T21:30:37.661Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.661Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.661Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.661Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.661Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.661Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.661Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.661Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.661Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.661Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.661Z] code = main()
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.661Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.661Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.661Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.661Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.661Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.661Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.661Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.661Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.661Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.661Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.661Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.661Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.661Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.661Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.661Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.661Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.661Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.661Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.661Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.661Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.661Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.661Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.661Z] item.runtest()
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.661Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.661Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.661Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.661Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.661Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.661Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 185, in test_filled_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.661Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.661Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.661Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.661Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.661Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.661Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.661Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.661Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.661Z] from matplotlib._path import (
[2024-06-23T21:30:37.661Z] Traceback (most recent call last):
[2024-06-23T21:30:37.661Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.661Z] raise ImportError(msg)
[2024-06-23T21:30:37.661Z] ImportError:
[2024-06-23T21:30:37.661Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.661Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.661Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.661Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.661Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.661Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] _________ test_filled_simple_no_corner_mask_chunk_threads[3-OuterCode] _________
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] fill_type = <FillType.OuterCode: 201>, thread_count = 3
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] @pytest.mark.image
[2024-06-23T21:30:37.661Z] @pytest.mark.threads
[2024-06-23T21:30:37.661Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.661Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.661Z] def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.661Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] tests/test_filled.py:185:
[2024-06-23T21:30:37.661Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.661Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.661Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.661Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.661Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.661Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.661Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.661Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.661Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.661Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.661Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.661Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.661Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.661Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] """
[2024-06-23T21:30:37.661Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.661Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.661Z] elements drawn on the canvas.
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.661Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.661Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.661Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.661Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.661Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.661Z] interactive performance.
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.661Z] to the graph:
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.661Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.661Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.661Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.661Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.661Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.661Z] themselves.
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.661Z] of how to use transforms.
[2024-06-23T21:30:37.661Z] """
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.661Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.661Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] import copy
[2024-06-23T21:30:37.661Z] import functools
[2024-06-23T21:30:37.661Z] import textwrap
[2024-06-23T21:30:37.661Z] import weakref
[2024-06-23T21:30:37.661Z] import math
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] import numpy as np
[2024-06-23T21:30:37.661Z] from numpy.linalg import inv
[2024-06-23T21:30:37.661Z]
[2024-06-23T21:30:37.661Z] from matplotlib import _api
[2024-06-23T21:30:37.661Z] > from matplotlib._path import (
[2024-06-23T21:30:37.662Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.662Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.662Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.662Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.662Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.662Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.662Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.662Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.662Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.662Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.662Z] code = main()
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.662Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.662Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.662Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.662Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.662Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.662Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.662Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.662Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.662Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.662Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.662Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.662Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.662Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.662Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.662Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.662Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.662Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.662Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.662Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.662Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.662Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.662Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.662Z] item.runtest()
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.662Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.662Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.662Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.662Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.662Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.662Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 185, in test_filled_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.662Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.662Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.662Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.662Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.662Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.662Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.662Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.662Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.662Z] from matplotlib._path import (
[2024-06-23T21:30:37.662Z] Traceback (most recent call last):
[2024-06-23T21:30:37.662Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.662Z] raise ImportError(msg)
[2024-06-23T21:30:37.662Z] ImportError:
[2024-06-23T21:30:37.662Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.662Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.662Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.662Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.662Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.662Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] ________ test_filled_simple_no_corner_mask_chunk_threads[3-OuterOffset] ________
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] fill_type = <FillType.OuterOffset: 202>, thread_count = 3
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] @pytest.mark.image
[2024-06-23T21:30:37.662Z] @pytest.mark.threads
[2024-06-23T21:30:37.662Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.662Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.662Z] def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.662Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] tests/test_filled.py:185:
[2024-06-23T21:30:37.662Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.662Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.662Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.662Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.662Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.662Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.662Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.662Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.662Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.662Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.662Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.662Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.662Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.662Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] """
[2024-06-23T21:30:37.662Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.662Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.662Z] elements drawn on the canvas.
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.662Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.662Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.662Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.662Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.662Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.662Z] interactive performance.
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.662Z] to the graph:
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.662Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.662Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.662Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.662Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.662Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.662Z] themselves.
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.662Z] of how to use transforms.
[2024-06-23T21:30:37.662Z] """
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.662Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.662Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] import copy
[2024-06-23T21:30:37.662Z] import functools
[2024-06-23T21:30:37.662Z] import textwrap
[2024-06-23T21:30:37.662Z] import weakref
[2024-06-23T21:30:37.662Z] import math
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] import numpy as np
[2024-06-23T21:30:37.662Z] from numpy.linalg import inv
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] from matplotlib import _api
[2024-06-23T21:30:37.662Z] > from matplotlib._path import (
[2024-06-23T21:30:37.662Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.662Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.662Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.662Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.662Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.662Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.662Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.662Z]
[2024-06-23T21:30:37.663Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.663Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.663Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.663Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.663Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.663Z] code = main()
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.663Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.663Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.663Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.663Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.663Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.663Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.663Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.663Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.663Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.663Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.663Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.663Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.663Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.663Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.663Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.663Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.663Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.663Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.663Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.663Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.663Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.663Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.663Z] item.runtest()
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.663Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.663Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.663Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.663Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.663Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.663Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 185, in test_filled_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.663Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.663Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.663Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.663Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.663Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.663Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.663Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.663Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.663Z] from matplotlib._path import (
[2024-06-23T21:30:37.663Z] Traceback (most recent call last):
[2024-06-23T21:30:37.663Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.663Z] raise ImportError(msg)
[2024-06-23T21:30:37.663Z] ImportError:
[2024-06-23T21:30:37.663Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.663Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.663Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.663Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.663Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.663Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z] _____ test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedCode] _____
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z] fill_type = <FillType.ChunkCombinedCode: 203>, thread_count = 3
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z] @pytest.mark.image
[2024-06-23T21:30:37.663Z] @pytest.mark.threads
[2024-06-23T21:30:37.663Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.663Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.663Z] def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.663Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z] tests/test_filled.py:185:
[2024-06-23T21:30:37.663Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.663Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.663Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.663Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.663Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.663Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.663Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.663Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.663Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.663Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.663Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.663Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.663Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.663Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z] """
[2024-06-23T21:30:37.663Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.663Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.663Z] elements drawn on the canvas.
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.663Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.663Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.663Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.663Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.663Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.663Z] interactive performance.
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.663Z] to the graph:
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.663Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.663Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.663Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.663Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.663Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.663Z] themselves.
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.663Z] of how to use transforms.
[2024-06-23T21:30:37.663Z] """
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.663Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.663Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z] import copy
[2024-06-23T21:30:37.663Z] import functools
[2024-06-23T21:30:37.663Z] import textwrap
[2024-06-23T21:30:37.663Z] import weakref
[2024-06-23T21:30:37.663Z] import math
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z] import numpy as np
[2024-06-23T21:30:37.663Z] from numpy.linalg import inv
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z] from matplotlib import _api
[2024-06-23T21:30:37.663Z] > from matplotlib._path import (
[2024-06-23T21:30:37.663Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.663Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.663Z]
[2024-06-23T21:30:37.663Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.664Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.664Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.664Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.664Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.664Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.664Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.664Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.664Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.664Z] code = main()
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.664Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.664Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.664Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.664Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.664Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.664Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.664Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.664Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.664Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.664Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.664Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.664Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.664Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.664Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.664Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.664Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.664Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.664Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.664Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.664Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.664Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.664Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.664Z] item.runtest()
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.664Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.664Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.664Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.664Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.664Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.664Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 185, in test_filled_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.664Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.664Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.664Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.664Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.664Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.664Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.664Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.664Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.664Z] from matplotlib._path import (
[2024-06-23T21:30:37.664Z] Traceback (most recent call last):
[2024-06-23T21:30:37.664Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.664Z] raise ImportError(msg)
[2024-06-23T21:30:37.664Z] ImportError:
[2024-06-23T21:30:37.664Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.664Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.664Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.664Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.664Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.664Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] ____ test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] ____
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] fill_type = <FillType.ChunkCombinedOffset: 204>, thread_count = 3
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] @pytest.mark.image
[2024-06-23T21:30:37.664Z] @pytest.mark.threads
[2024-06-23T21:30:37.664Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.664Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.664Z] def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.664Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] tests/test_filled.py:185:
[2024-06-23T21:30:37.664Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.664Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.664Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.664Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.664Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.664Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.664Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.664Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.664Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.664Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.664Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.664Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.664Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.664Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] """
[2024-06-23T21:30:37.664Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.664Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.664Z] elements drawn on the canvas.
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.664Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.664Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.664Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.664Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.664Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.664Z] interactive performance.
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.664Z] to the graph:
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.664Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.664Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.664Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.664Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.664Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.664Z] themselves.
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.664Z] of how to use transforms.
[2024-06-23T21:30:37.664Z] """
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.664Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.664Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] import copy
[2024-06-23T21:30:37.664Z] import functools
[2024-06-23T21:30:37.664Z] import textwrap
[2024-06-23T21:30:37.664Z] import weakref
[2024-06-23T21:30:37.664Z] import math
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] import numpy as np
[2024-06-23T21:30:37.664Z] from numpy.linalg import inv
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] from matplotlib import _api
[2024-06-23T21:30:37.664Z] > from matplotlib._path import (
[2024-06-23T21:30:37.664Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.664Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.664Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.664Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.664Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.664Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.664Z]
[2024-06-23T21:30:37.664Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.664Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.665Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.665Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.665Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.665Z] code = main()
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.665Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.665Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.665Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.665Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.665Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.665Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.665Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.665Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.665Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.665Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.665Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.665Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.665Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.665Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.665Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.665Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.665Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.665Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.665Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.665Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.665Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.665Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.665Z] item.runtest()
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.665Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.665Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.665Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.665Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.665Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.665Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 185, in test_filled_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.665Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.665Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.665Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.665Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.665Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.665Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.665Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.665Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.665Z] from matplotlib._path import (
[2024-06-23T21:30:37.665Z] Traceback (most recent call last):
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.665Z] raise ImportError(msg)
[2024-06-23T21:30:37.665Z] ImportError:
[2024-06-23T21:30:37.665Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.665Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.665Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.665Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.665Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.665Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] __ test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] __
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] fill_type = <FillType.ChunkCombinedCodeOffset: 205>, thread_count = 3
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] @pytest.mark.image
[2024-06-23T21:30:37.665Z] @pytest.mark.threads
[2024-06-23T21:30:37.665Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.665Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.665Z] def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.665Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] tests/test_filled.py:185:
[2024-06-23T21:30:37.665Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.665Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.665Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.665Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.665Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.665Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.665Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.665Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.665Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.665Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.665Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.665Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.665Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.665Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] """
[2024-06-23T21:30:37.665Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.665Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.665Z] elements drawn on the canvas.
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.665Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.665Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.665Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.665Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.665Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.665Z] interactive performance.
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.665Z] to the graph:
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.665Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.665Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.665Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.665Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.665Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.665Z] themselves.
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.665Z] of how to use transforms.
[2024-06-23T21:30:37.665Z] """
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.665Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.665Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] import copy
[2024-06-23T21:30:37.665Z] import functools
[2024-06-23T21:30:37.665Z] import textwrap
[2024-06-23T21:30:37.665Z] import weakref
[2024-06-23T21:30:37.665Z] import math
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] import numpy as np
[2024-06-23T21:30:37.665Z] from numpy.linalg import inv
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] from matplotlib import _api
[2024-06-23T21:30:37.665Z] > from matplotlib._path import (
[2024-06-23T21:30:37.665Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.665Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.665Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.665Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.665Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.665Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.665Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.665Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.665Z]
[2024-06-23T21:30:37.665Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.665Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.665Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.665Z] code = main()
[2024-06-23T21:30:37.665Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.666Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.666Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.666Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.666Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.666Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.666Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.666Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.666Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.666Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.666Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.666Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.666Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.666Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.666Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.666Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.666Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.666Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.666Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.666Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.666Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.666Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.666Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.666Z] item.runtest()
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.666Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.666Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.666Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.666Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.666Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.666Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 185, in test_filled_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.666Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.666Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.666Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.666Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.666Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.666Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.666Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.666Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.666Z] from matplotlib._path import (
[2024-06-23T21:30:37.666Z] Traceback (most recent call last):
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.666Z] raise ImportError(msg)
[2024-06-23T21:30:37.666Z] ImportError:
[2024-06-23T21:30:37.666Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.666Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.666Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.666Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.666Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.666Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] _ test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] _
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] fill_type = <FillType.ChunkCombinedOffsetOffset: 206>, thread_count = 3
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] @pytest.mark.image
[2024-06-23T21:30:37.666Z] @pytest.mark.threads
[2024-06-23T21:30:37.666Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.666Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.666Z] def test_filled_simple_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.666Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] tests/test_filled.py:185:
[2024-06-23T21:30:37.666Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.666Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.666Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.666Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.666Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.666Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.666Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.666Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.666Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.666Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.666Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.666Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.666Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.666Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] """
[2024-06-23T21:30:37.666Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.666Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.666Z] elements drawn on the canvas.
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.666Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.666Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.666Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.666Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.666Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.666Z] interactive performance.
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.666Z] to the graph:
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.666Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.666Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.666Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.666Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.666Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.666Z] themselves.
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.666Z] of how to use transforms.
[2024-06-23T21:30:37.666Z] """
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.666Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.666Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] import copy
[2024-06-23T21:30:37.666Z] import functools
[2024-06-23T21:30:37.666Z] import textwrap
[2024-06-23T21:30:37.666Z] import weakref
[2024-06-23T21:30:37.666Z] import math
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] import numpy as np
[2024-06-23T21:30:37.666Z] from numpy.linalg import inv
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] from matplotlib import _api
[2024-06-23T21:30:37.666Z] > from matplotlib._path import (
[2024-06-23T21:30:37.666Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.666Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.666Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.666Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.666Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.666Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.666Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.666Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.666Z]
[2024-06-23T21:30:37.666Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.666Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.666Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.666Z] code = main()
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.666Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.666Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.666Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.666Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.666Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.666Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.667Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.667Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.667Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.667Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.667Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.667Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.667Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.667Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.667Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.667Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.667Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.667Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.667Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.667Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.667Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.667Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.667Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.667Z] item.runtest()
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.667Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.667Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.667Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.667Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.667Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.667Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 185, in test_filled_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.667Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.667Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.667Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.667Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.667Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.667Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.667Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.667Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.667Z] from matplotlib._path import (
[2024-06-23T21:30:37.667Z] Traceback (most recent call last):
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.667Z] raise ImportError(msg)
[2024-06-23T21:30:37.667Z] ImportError:
[2024-06-23T21:30:37.667Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.667Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.667Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.667Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.667Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.667Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] ___________________ test_filled_simple_corner_mask[mpl2014] ____________________
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] name = 'mpl2014'
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] @pytest.mark.image
[2024-06-23T21:30:37.667Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:37.667Z] def test_filled_simple_corner_mask(name: str) -> None:
[2024-06-23T21:30:37.667Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] tests/test_filled.py:214:
[2024-06-23T21:30:37.667Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.667Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.667Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.667Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.667Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.667Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.667Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.667Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.667Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.667Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.667Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.667Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.667Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.667Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] """
[2024-06-23T21:30:37.667Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.667Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.667Z] elements drawn on the canvas.
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.667Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.667Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.667Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.667Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.667Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.667Z] interactive performance.
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.667Z] to the graph:
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.667Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.667Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.667Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.667Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.667Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.667Z] themselves.
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.667Z] of how to use transforms.
[2024-06-23T21:30:37.667Z] """
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.667Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.667Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] import copy
[2024-06-23T21:30:37.667Z] import functools
[2024-06-23T21:30:37.667Z] import textwrap
[2024-06-23T21:30:37.667Z] import weakref
[2024-06-23T21:30:37.667Z] import math
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] import numpy as np
[2024-06-23T21:30:37.667Z] from numpy.linalg import inv
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] from matplotlib import _api
[2024-06-23T21:30:37.667Z] > from matplotlib._path import (
[2024-06-23T21:30:37.667Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.667Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.667Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.667Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.667Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.667Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.667Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.667Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.667Z]
[2024-06-23T21:30:37.667Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.667Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.667Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.667Z] code = main()
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.667Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.667Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.667Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.667Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.668Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.668Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.668Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.668Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.668Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.668Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.668Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.668Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.668Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.668Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.668Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.668Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.668Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.668Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.668Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.668Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.668Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.668Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.668Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.668Z] item.runtest()
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.668Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.668Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.668Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.668Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.668Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.668Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 214, in test_filled_simple_corner_mask
[2024-06-23T21:30:37.668Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.668Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.668Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.668Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.668Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.668Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.668Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.668Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.668Z] from matplotlib._path import (
[2024-06-23T21:30:37.668Z] Traceback (most recent call last):
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.668Z] raise ImportError(msg)
[2024-06-23T21:30:37.668Z] ImportError:
[2024-06-23T21:30:37.668Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.668Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.668Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.668Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.668Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.668Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] ____________________ test_filled_simple_corner_mask[serial] ____________________
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] name = 'serial'
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] @pytest.mark.image
[2024-06-23T21:30:37.668Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:37.668Z] def test_filled_simple_corner_mask(name: str) -> None:
[2024-06-23T21:30:37.668Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] tests/test_filled.py:214:
[2024-06-23T21:30:37.668Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.668Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.668Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.668Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.668Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.668Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.668Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.668Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.668Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.668Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.668Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.668Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.668Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.668Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] """
[2024-06-23T21:30:37.668Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.668Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.668Z] elements drawn on the canvas.
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.668Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.668Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.668Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.668Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.668Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.668Z] interactive performance.
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.668Z] to the graph:
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.668Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.668Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.668Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.668Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.668Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.668Z] themselves.
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.668Z] of how to use transforms.
[2024-06-23T21:30:37.668Z] """
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.668Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.668Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] import copy
[2024-06-23T21:30:37.668Z] import functools
[2024-06-23T21:30:37.668Z] import textwrap
[2024-06-23T21:30:37.668Z] import weakref
[2024-06-23T21:30:37.668Z] import math
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] import numpy as np
[2024-06-23T21:30:37.668Z] from numpy.linalg import inv
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] from matplotlib import _api
[2024-06-23T21:30:37.668Z] > from matplotlib._path import (
[2024-06-23T21:30:37.668Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.668Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.668Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.668Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.668Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.668Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.668Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.668Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.668Z]
[2024-06-23T21:30:37.668Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.668Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.668Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.668Z] code = main()
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.668Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.668Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.668Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.668Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.668Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.668Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.668Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.668Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.668Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.669Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.669Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.669Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.669Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.669Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.669Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.669Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.669Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.669Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.669Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.669Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.669Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.669Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.669Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.669Z] item.runtest()
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.669Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.669Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.669Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.669Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.669Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.669Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 214, in test_filled_simple_corner_mask
[2024-06-23T21:30:37.669Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.669Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.669Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.669Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.669Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.669Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.669Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.669Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.669Z] from matplotlib._path import (
[2024-06-23T21:30:37.669Z] Traceback (most recent call last):
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.669Z] raise ImportError(msg)
[2024-06-23T21:30:37.669Z] ImportError:
[2024-06-23T21:30:37.669Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.669Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.669Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.669Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.669Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.669Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] ___________________ test_filled_simple_corner_mask[threaded] ___________________
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] name = 'threaded'
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] @pytest.mark.image
[2024-06-23T21:30:37.669Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:37.669Z] def test_filled_simple_corner_mask(name: str) -> None:
[2024-06-23T21:30:37.669Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] tests/test_filled.py:214:
[2024-06-23T21:30:37.669Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.669Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.669Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.669Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.669Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.669Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.669Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.669Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.669Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.669Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.669Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.669Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.669Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.669Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] """
[2024-06-23T21:30:37.669Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.669Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.669Z] elements drawn on the canvas.
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.669Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.669Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.669Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.669Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.669Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.669Z] interactive performance.
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.669Z] to the graph:
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.669Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.669Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.669Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.669Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.669Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.669Z] themselves.
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.669Z] of how to use transforms.
[2024-06-23T21:30:37.669Z] """
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.669Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.669Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] import copy
[2024-06-23T21:30:37.669Z] import functools
[2024-06-23T21:30:37.669Z] import textwrap
[2024-06-23T21:30:37.669Z] import weakref
[2024-06-23T21:30:37.669Z] import math
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] import numpy as np
[2024-06-23T21:30:37.669Z] from numpy.linalg import inv
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] from matplotlib import _api
[2024-06-23T21:30:37.669Z] > from matplotlib._path import (
[2024-06-23T21:30:37.669Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.669Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.669Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.669Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.669Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.669Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.669Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.669Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.669Z]
[2024-06-23T21:30:37.669Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.669Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.669Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.669Z] code = main()
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.669Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.669Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.669Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.669Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.669Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.669Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.669Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.669Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.669Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.669Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.669Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.669Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.669Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.669Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.670Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.670Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.670Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.670Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.670Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.670Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.670Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.670Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.670Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.670Z] item.runtest()
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.670Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.670Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.670Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.670Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.670Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.670Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 214, in test_filled_simple_corner_mask
[2024-06-23T21:30:37.670Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.670Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.670Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.670Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.670Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.670Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.670Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.670Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.670Z] from matplotlib._path import (
[2024-06-23T21:30:37.670Z] Traceback (most recent call last):
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.670Z] raise ImportError(msg)
[2024-06-23T21:30:37.670Z] ImportError:
[2024-06-23T21:30:37.670Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.670Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.670Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.670Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.670Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.670Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] ________________ test_filled_simple_corner_mask_chunk[mpl2014] _________________
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] name = 'mpl2014'
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] @pytest.mark.image
[2024-06-23T21:30:37.670Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:37.670Z] def test_filled_simple_corner_mask_chunk(name: str) -> None:
[2024-06-23T21:30:37.670Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] tests/test_filled.py:238:
[2024-06-23T21:30:37.670Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.670Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.670Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.670Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.670Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.670Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.670Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.670Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.670Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.670Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.670Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.670Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.670Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.670Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] """
[2024-06-23T21:30:37.670Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.670Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.670Z] elements drawn on the canvas.
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.670Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.670Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.670Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.670Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.670Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.670Z] interactive performance.
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.670Z] to the graph:
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.670Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.670Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.670Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.670Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.670Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.670Z] themselves.
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.670Z] of how to use transforms.
[2024-06-23T21:30:37.670Z] """
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.670Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.670Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] import copy
[2024-06-23T21:30:37.670Z] import functools
[2024-06-23T21:30:37.670Z] import textwrap
[2024-06-23T21:30:37.670Z] import weakref
[2024-06-23T21:30:37.670Z] import math
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] import numpy as np
[2024-06-23T21:30:37.670Z] from numpy.linalg import inv
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] from matplotlib import _api
[2024-06-23T21:30:37.670Z] > from matplotlib._path import (
[2024-06-23T21:30:37.670Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.670Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.670Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.670Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.670Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.670Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.670Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.670Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.670Z]
[2024-06-23T21:30:37.670Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.670Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.670Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.670Z] code = main()
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.670Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.670Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.670Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.670Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.670Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.670Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.670Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.670Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.670Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.670Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.670Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.670Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.670Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.670Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.670Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.670Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.670Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.670Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.670Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.670Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.671Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.671Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.671Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.671Z] item.runtest()
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.671Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.671Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.671Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.671Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.671Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.671Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 238, in test_filled_simple_corner_mask_chunk
[2024-06-23T21:30:37.671Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.671Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.671Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.671Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.671Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.671Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.671Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.671Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.671Z] from matplotlib._path import (
[2024-06-23T21:30:37.671Z] Traceback (most recent call last):
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.671Z] raise ImportError(msg)
[2024-06-23T21:30:37.671Z] ImportError:
[2024-06-23T21:30:37.671Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.671Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.671Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.671Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.671Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.671Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] _________________ test_filled_simple_corner_mask_chunk[serial] _________________
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] name = 'serial'
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] @pytest.mark.image
[2024-06-23T21:30:37.671Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:37.671Z] def test_filled_simple_corner_mask_chunk(name: str) -> None:
[2024-06-23T21:30:37.671Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] tests/test_filled.py:238:
[2024-06-23T21:30:37.671Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.671Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.671Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.671Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.671Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.671Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.671Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.671Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.671Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.671Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.671Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.671Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.671Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.671Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] """
[2024-06-23T21:30:37.671Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.671Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.671Z] elements drawn on the canvas.
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.671Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.671Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.671Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.671Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.671Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.671Z] interactive performance.
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.671Z] to the graph:
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.671Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.671Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.671Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.671Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.671Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.671Z] themselves.
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.671Z] of how to use transforms.
[2024-06-23T21:30:37.671Z] """
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.671Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.671Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] import copy
[2024-06-23T21:30:37.671Z] import functools
[2024-06-23T21:30:37.671Z] import textwrap
[2024-06-23T21:30:37.671Z] import weakref
[2024-06-23T21:30:37.671Z] import math
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] import numpy as np
[2024-06-23T21:30:37.671Z] from numpy.linalg import inv
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] from matplotlib import _api
[2024-06-23T21:30:37.671Z] > from matplotlib._path import (
[2024-06-23T21:30:37.671Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.671Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.671Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.671Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.671Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.671Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.671Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.671Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.671Z]
[2024-06-23T21:30:37.671Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.671Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.671Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.671Z] code = main()
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.671Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.671Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.671Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.671Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.671Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.671Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.671Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.671Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.671Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.671Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.671Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.671Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.671Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.671Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.671Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.671Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.671Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.671Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.671Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.671Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.671Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.671Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.671Z] item.runtest()
[2024-06-23T21:30:37.671Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.671Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.672Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.672Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.672Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.672Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.672Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 238, in test_filled_simple_corner_mask_chunk
[2024-06-23T21:30:37.672Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.672Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.672Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.672Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.672Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.672Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.672Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.672Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.672Z] from matplotlib._path import (
[2024-06-23T21:30:37.672Z] Traceback (most recent call last):
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.672Z] raise ImportError(msg)
[2024-06-23T21:30:37.672Z] ImportError:
[2024-06-23T21:30:37.672Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.672Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.672Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.672Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.672Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.672Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] ________________ test_filled_simple_corner_mask_chunk[threaded] ________________
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] name = 'threaded'
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] @pytest.mark.image
[2024-06-23T21:30:37.672Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:37.672Z] def test_filled_simple_corner_mask_chunk(name: str) -> None:
[2024-06-23T21:30:37.672Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] tests/test_filled.py:238:
[2024-06-23T21:30:37.672Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.672Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.672Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.672Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.672Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.672Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.672Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.672Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.672Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.672Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.672Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.672Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.672Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.672Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] """
[2024-06-23T21:30:37.672Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.672Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.672Z] elements drawn on the canvas.
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.672Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.672Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.672Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.672Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.672Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.672Z] interactive performance.
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.672Z] to the graph:
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.672Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.672Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.672Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.672Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.672Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.672Z] themselves.
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.672Z] of how to use transforms.
[2024-06-23T21:30:37.672Z] """
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.672Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.672Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] import copy
[2024-06-23T21:30:37.672Z] import functools
[2024-06-23T21:30:37.672Z] import textwrap
[2024-06-23T21:30:37.672Z] import weakref
[2024-06-23T21:30:37.672Z] import math
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] import numpy as np
[2024-06-23T21:30:37.672Z] from numpy.linalg import inv
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] from matplotlib import _api
[2024-06-23T21:30:37.672Z] > from matplotlib._path import (
[2024-06-23T21:30:37.672Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.672Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.672Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.672Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.672Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.672Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.672Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.672Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.672Z]
[2024-06-23T21:30:37.672Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.672Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.672Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.672Z] code = main()
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.672Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.672Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.672Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.672Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.672Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.672Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.672Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.672Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.672Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.672Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.672Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.672Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.672Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.672Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.672Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.672Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.672Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.672Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.672Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.672Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.672Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.672Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.672Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.673Z] item.runtest()
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.673Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.673Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.673Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.673Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.673Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.673Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 238, in test_filled_simple_corner_mask_chunk
[2024-06-23T21:30:37.673Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.673Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.673Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.673Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.673Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.673Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.673Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.673Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.673Z] from matplotlib._path import (
[2024-06-23T21:30:37.673Z] Traceback (most recent call last):
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.673Z] raise ImportError(msg)
[2024-06-23T21:30:37.673Z] ImportError:
[2024-06-23T21:30:37.673Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.673Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.673Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.673Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.673Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.673Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] __________ test_filled_simple_corner_mask_chunk_threads[2-OuterCode] ___________
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] fill_type = <FillType.OuterCode: 201>, thread_count = 2
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] @pytest.mark.image
[2024-06-23T21:30:37.673Z] @pytest.mark.threads
[2024-06-23T21:30:37.673Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.673Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.673Z] def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.673Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] tests/test_filled.py:269:
[2024-06-23T21:30:37.673Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.673Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.673Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.673Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.673Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.673Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.673Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.673Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.673Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.673Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.673Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.673Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.673Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.673Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] """
[2024-06-23T21:30:37.673Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.673Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.673Z] elements drawn on the canvas.
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.673Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.673Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.673Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.673Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.673Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.673Z] interactive performance.
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.673Z] to the graph:
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.673Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.673Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.673Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.673Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.673Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.673Z] themselves.
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.673Z] of how to use transforms.
[2024-06-23T21:30:37.673Z] """
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.673Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.673Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] import copy
[2024-06-23T21:30:37.673Z] import functools
[2024-06-23T21:30:37.673Z] import textwrap
[2024-06-23T21:30:37.673Z] import weakref
[2024-06-23T21:30:37.673Z] import math
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] import numpy as np
[2024-06-23T21:30:37.673Z] from numpy.linalg import inv
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] from matplotlib import _api
[2024-06-23T21:30:37.673Z] > from matplotlib._path import (
[2024-06-23T21:30:37.673Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.673Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.673Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.673Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.673Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.673Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.673Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.673Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.673Z]
[2024-06-23T21:30:37.673Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.673Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.673Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.673Z] code = main()
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.673Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.673Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.673Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.673Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.673Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.673Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.673Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.673Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.673Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.673Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.673Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.673Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.673Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.673Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.673Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.673Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.673Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.673Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.673Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.673Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.673Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.673Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.673Z] item.runtest()
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.673Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.673Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.673Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.673Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.673Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.674Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.674Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 269, in test_filled_simple_corner_mask_chunk_threads
[2024-06-23T21:30:37.674Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.674Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.674Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.674Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.674Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.674Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.674Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.674Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.674Z] from matplotlib._path import (
[2024-06-23T21:30:37.674Z] Traceback (most recent call last):
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.674Z] raise ImportError(msg)
[2024-06-23T21:30:37.674Z] ImportError:
[2024-06-23T21:30:37.674Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.674Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.674Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.674Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.674Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.674Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] _________ test_filled_simple_corner_mask_chunk_threads[2-OuterOffset] __________
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] fill_type = <FillType.OuterOffset: 202>, thread_count = 2
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] @pytest.mark.image
[2024-06-23T21:30:37.674Z] @pytest.mark.threads
[2024-06-23T21:30:37.674Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.674Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.674Z] def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.674Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] tests/test_filled.py:269:
[2024-06-23T21:30:37.674Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.674Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.674Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.674Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.674Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.674Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.674Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.674Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.674Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.674Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.674Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.674Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.674Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.674Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] """
[2024-06-23T21:30:37.674Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.674Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.674Z] elements drawn on the canvas.
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.674Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.674Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.674Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.674Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.674Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.674Z] interactive performance.
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.674Z] to the graph:
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.674Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.674Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.674Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.674Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.674Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.674Z] themselves.
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.674Z] of how to use transforms.
[2024-06-23T21:30:37.674Z] """
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.674Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.674Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] import copy
[2024-06-23T21:30:37.674Z] import functools
[2024-06-23T21:30:37.674Z] import textwrap
[2024-06-23T21:30:37.674Z] import weakref
[2024-06-23T21:30:37.674Z] import math
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] import numpy as np
[2024-06-23T21:30:37.674Z] from numpy.linalg import inv
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] from matplotlib import _api
[2024-06-23T21:30:37.674Z] > from matplotlib._path import (
[2024-06-23T21:30:37.674Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.674Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.674Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.674Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.674Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.674Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.674Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.674Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.674Z]
[2024-06-23T21:30:37.674Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.674Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.674Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.674Z] code = main()
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.674Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.674Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.674Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.674Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.674Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.674Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.674Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.674Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.674Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.674Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.674Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.674Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.674Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.674Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.674Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.674Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.674Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.674Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.674Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.674Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.674Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.674Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.674Z] item.runtest()
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.674Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.674Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.674Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.674Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.674Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.674Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.674Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 269, in test_filled_simple_corner_mask_chunk_threads
[2024-06-23T21:30:37.674Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.674Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.674Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.675Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.675Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.675Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.675Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.675Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.675Z] from matplotlib._path import (
[2024-06-23T21:30:37.675Z] Traceback (most recent call last):
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.675Z] raise ImportError(msg)
[2024-06-23T21:30:37.675Z] ImportError:
[2024-06-23T21:30:37.675Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.675Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.675Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.675Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.675Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.675Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] ______ test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedCode] _______
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] fill_type = <FillType.ChunkCombinedCode: 203>, thread_count = 2
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] @pytest.mark.image
[2024-06-23T21:30:37.675Z] @pytest.mark.threads
[2024-06-23T21:30:37.675Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.675Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.675Z] def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.675Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] tests/test_filled.py:269:
[2024-06-23T21:30:37.675Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.675Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.675Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.675Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.675Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.675Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.675Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.675Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.675Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.675Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.675Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.675Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.675Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.675Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] """
[2024-06-23T21:30:37.675Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.675Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.675Z] elements drawn on the canvas.
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.675Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.675Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.675Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.675Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.675Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.675Z] interactive performance.
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.675Z] to the graph:
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.675Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.675Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.675Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.675Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.675Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.675Z] themselves.
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.675Z] of how to use transforms.
[2024-06-23T21:30:37.675Z] """
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.675Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.675Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] import copy
[2024-06-23T21:30:37.675Z] import functools
[2024-06-23T21:30:37.675Z] import textwrap
[2024-06-23T21:30:37.675Z] import weakref
[2024-06-23T21:30:37.675Z] import math
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] import numpy as np
[2024-06-23T21:30:37.675Z] from numpy.linalg import inv
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] from matplotlib import _api
[2024-06-23T21:30:37.675Z] > from matplotlib._path import (
[2024-06-23T21:30:37.675Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.675Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.675Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.675Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.675Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.675Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.675Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.675Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.675Z]
[2024-06-23T21:30:37.675Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.675Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.675Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.675Z] code = main()
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.675Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.675Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.675Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.675Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.675Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.675Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.675Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.675Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.675Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.675Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.675Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.675Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.675Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.675Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.675Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.675Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.675Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.675Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.675Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.675Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.675Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.675Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.675Z] item.runtest()
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.675Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.675Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.675Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.675Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.675Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.675Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 269, in test_filled_simple_corner_mask_chunk_threads
[2024-06-23T21:30:37.675Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.675Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.675Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.675Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.675Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.675Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.675Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.675Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.676Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.676Z] from matplotlib._path import (
[2024-06-23T21:30:37.676Z] Traceback (most recent call last):
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.676Z] raise ImportError(msg)
[2024-06-23T21:30:37.676Z] ImportError:
[2024-06-23T21:30:37.676Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.676Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.676Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.676Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.676Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.676Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] _____ test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedOffset] ______
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] fill_type = <FillType.ChunkCombinedOffset: 204>, thread_count = 2
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] @pytest.mark.image
[2024-06-23T21:30:37.676Z] @pytest.mark.threads
[2024-06-23T21:30:37.676Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.676Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.676Z] def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.676Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] tests/test_filled.py:269:
[2024-06-23T21:30:37.676Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.676Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.676Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.676Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.676Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.676Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.676Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.676Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.676Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.676Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.676Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.676Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.676Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.676Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] """
[2024-06-23T21:30:37.676Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.676Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.676Z] elements drawn on the canvas.
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.676Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.676Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.676Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.676Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.676Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.676Z] interactive performance.
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.676Z] to the graph:
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.676Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.676Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.676Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.676Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.676Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.676Z] themselves.
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.676Z] of how to use transforms.
[2024-06-23T21:30:37.676Z] """
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.676Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.676Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] import copy
[2024-06-23T21:30:37.676Z] import functools
[2024-06-23T21:30:37.676Z] import textwrap
[2024-06-23T21:30:37.676Z] import weakref
[2024-06-23T21:30:37.676Z] import math
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] import numpy as np
[2024-06-23T21:30:37.676Z] from numpy.linalg import inv
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] from matplotlib import _api
[2024-06-23T21:30:37.676Z] > from matplotlib._path import (
[2024-06-23T21:30:37.676Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.676Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.676Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.676Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.676Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.676Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.676Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.676Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.676Z]
[2024-06-23T21:30:37.676Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.676Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.676Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.676Z] code = main()
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.676Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.676Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.676Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.676Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.676Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.676Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.676Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.676Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.676Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.676Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.676Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.676Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.676Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.676Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.676Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.676Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.676Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.676Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.676Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.676Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.676Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.676Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.676Z] item.runtest()
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.676Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.676Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.676Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.676Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.676Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.676Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 269, in test_filled_simple_corner_mask_chunk_threads
[2024-06-23T21:30:37.676Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.676Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.676Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.676Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.676Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.676Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.677Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.677Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.677Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.677Z] from matplotlib._path import (
[2024-06-23T21:30:37.677Z] Traceback (most recent call last):
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.677Z] raise ImportError(msg)
[2024-06-23T21:30:37.677Z] ImportError:
[2024-06-23T21:30:37.677Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.677Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.677Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.677Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.677Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.677Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] ___ test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] ____
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] fill_type = <FillType.ChunkCombinedCodeOffset: 205>, thread_count = 2
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] @pytest.mark.image
[2024-06-23T21:30:37.677Z] @pytest.mark.threads
[2024-06-23T21:30:37.677Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.677Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.677Z] def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.677Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] tests/test_filled.py:269:
[2024-06-23T21:30:37.677Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.677Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.677Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.677Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.677Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.677Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.677Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.677Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.677Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.677Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.677Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.677Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.677Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.677Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] """
[2024-06-23T21:30:37.677Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.677Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.677Z] elements drawn on the canvas.
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.677Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.677Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.677Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.677Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.677Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.677Z] interactive performance.
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.677Z] to the graph:
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.677Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.677Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.677Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.677Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.677Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.677Z] themselves.
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.677Z] of how to use transforms.
[2024-06-23T21:30:37.677Z] """
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.677Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.677Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] import copy
[2024-06-23T21:30:37.677Z] import functools
[2024-06-23T21:30:37.677Z] import textwrap
[2024-06-23T21:30:37.677Z] import weakref
[2024-06-23T21:30:37.677Z] import math
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] import numpy as np
[2024-06-23T21:30:37.677Z] from numpy.linalg import inv
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] from matplotlib import _api
[2024-06-23T21:30:37.677Z] > from matplotlib._path import (
[2024-06-23T21:30:37.677Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.677Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.677Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.677Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.677Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.677Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.677Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.677Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.677Z]
[2024-06-23T21:30:37.677Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.677Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.677Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.677Z] code = main()
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.677Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.677Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.677Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.677Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.677Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.677Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.677Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.677Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.677Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.677Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.677Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.677Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.677Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.677Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.677Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.677Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.677Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.677Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.677Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.677Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.677Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.677Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.677Z] item.runtest()
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.677Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.677Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.677Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.677Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.677Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.677Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 269, in test_filled_simple_corner_mask_chunk_threads
[2024-06-23T21:30:37.677Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.677Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.677Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.677Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.677Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.677Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.677Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.677Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.677Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.677Z] from matplotlib._path import (
[2024-06-23T21:30:37.678Z] Traceback (most recent call last):
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.678Z] raise ImportError(msg)
[2024-06-23T21:30:37.678Z] ImportError:
[2024-06-23T21:30:37.678Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.678Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.678Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.678Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.678Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.678Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] __ test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] ___
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] fill_type = <FillType.ChunkCombinedOffsetOffset: 206>, thread_count = 2
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] @pytest.mark.image
[2024-06-23T21:30:37.678Z] @pytest.mark.threads
[2024-06-23T21:30:37.678Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.678Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.678Z] def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.678Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] tests/test_filled.py:269:
[2024-06-23T21:30:37.678Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.678Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.678Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.678Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.678Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.678Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.678Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.678Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.678Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.678Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.678Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.678Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.678Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.678Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] """
[2024-06-23T21:30:37.678Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.678Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.678Z] elements drawn on the canvas.
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.678Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.678Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.678Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.678Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.678Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.678Z] interactive performance.
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.678Z] to the graph:
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.678Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.678Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.678Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.678Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.678Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.678Z] themselves.
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.678Z] of how to use transforms.
[2024-06-23T21:30:37.678Z] """
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.678Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.678Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] import copy
[2024-06-23T21:30:37.678Z] import functools
[2024-06-23T21:30:37.678Z] import textwrap
[2024-06-23T21:30:37.678Z] import weakref
[2024-06-23T21:30:37.678Z] import math
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] import numpy as np
[2024-06-23T21:30:37.678Z] from numpy.linalg import inv
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] from matplotlib import _api
[2024-06-23T21:30:37.678Z] > from matplotlib._path import (
[2024-06-23T21:30:37.678Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.678Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.678Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.678Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.678Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.678Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.678Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.678Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.678Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.678Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.678Z] code = main()
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.678Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.678Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.678Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.678Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.678Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.678Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.678Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.678Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.678Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.678Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.678Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.678Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.678Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.678Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.678Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.678Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.678Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.678Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.678Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.678Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.678Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.678Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.678Z] item.runtest()
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.678Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.678Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.678Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.678Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.678Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.678Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 269, in test_filled_simple_corner_mask_chunk_threads
[2024-06-23T21:30:37.678Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.678Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.678Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.678Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.678Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.678Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.678Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.678Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.678Z] from matplotlib._path import (
[2024-06-23T21:30:37.678Z] Traceback (most recent call last):
[2024-06-23T21:30:37.678Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.678Z] raise ImportError(msg)
[2024-06-23T21:30:37.678Z] ImportError:
[2024-06-23T21:30:37.678Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.678Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.678Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.678Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.678Z]
[2024-06-23T21:30:37.678Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.679Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.679Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] __________ test_filled_simple_corner_mask_chunk_threads[3-OuterCode] ___________
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] fill_type = <FillType.OuterCode: 201>, thread_count = 3
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] @pytest.mark.image
[2024-06-23T21:30:37.679Z] @pytest.mark.threads
[2024-06-23T21:30:37.679Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.679Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.679Z] def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.679Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] tests/test_filled.py:269:
[2024-06-23T21:30:37.679Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.679Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.679Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.679Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.679Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.679Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.679Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.679Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.679Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.679Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.679Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.679Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.679Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.679Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] """
[2024-06-23T21:30:37.679Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.679Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.679Z] elements drawn on the canvas.
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.679Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.679Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.679Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.679Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.679Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.679Z] interactive performance.
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.679Z] to the graph:
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.679Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.679Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.679Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.679Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.679Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.679Z] themselves.
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.679Z] of how to use transforms.
[2024-06-23T21:30:37.679Z] """
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.679Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.679Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] import copy
[2024-06-23T21:30:37.679Z] import functools
[2024-06-23T21:30:37.679Z] import textwrap
[2024-06-23T21:30:37.679Z] import weakref
[2024-06-23T21:30:37.679Z] import math
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] import numpy as np
[2024-06-23T21:30:37.679Z] from numpy.linalg import inv
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] from matplotlib import _api
[2024-06-23T21:30:37.679Z] > from matplotlib._path import (
[2024-06-23T21:30:37.679Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.679Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.679Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.679Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.679Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.679Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.679Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.679Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.679Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.679Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.679Z] code = main()
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.679Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.679Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.679Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.679Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.679Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.679Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.679Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.679Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.679Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.679Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.679Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.679Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.679Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.679Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.679Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.679Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.679Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.679Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.679Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.679Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.679Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.679Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.679Z] item.runtest()
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.679Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.679Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.679Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.679Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.679Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.679Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 269, in test_filled_simple_corner_mask_chunk_threads
[2024-06-23T21:30:37.679Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.679Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.679Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.679Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.679Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.679Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.679Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.679Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.679Z] from matplotlib._path import (
[2024-06-23T21:30:37.679Z] Traceback (most recent call last):
[2024-06-23T21:30:37.679Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.679Z] raise ImportError(msg)
[2024-06-23T21:30:37.679Z] ImportError:
[2024-06-23T21:30:37.679Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.679Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.679Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.679Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.679Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.679Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] _________ test_filled_simple_corner_mask_chunk_threads[3-OuterOffset] __________
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] fill_type = <FillType.OuterOffset: 202>, thread_count = 3
[2024-06-23T21:30:37.679Z]
[2024-06-23T21:30:37.679Z] @pytest.mark.image
[2024-06-23T21:30:37.679Z] @pytest.mark.threads
[2024-06-23T21:30:37.679Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.679Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.680Z] def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.680Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.680Z] tests/test_filled.py:269:
[2024-06-23T21:30:37.680Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.680Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.680Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.680Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.680Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.680Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.680Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.680Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.680Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.680Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.680Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.680Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.680Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.680Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.680Z] """
[2024-06-23T21:30:37.680Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.680Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.680Z] elements drawn on the canvas.
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.680Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.680Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.680Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.680Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.680Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.680Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.680Z] interactive performance.
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.680Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.680Z] to the graph:
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.680Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.680Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.680Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.680Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.680Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.680Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.680Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.680Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.680Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.680Z] themselves.
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.680Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.680Z] of how to use transforms.
[2024-06-23T21:30:37.680Z] """
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.680Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.680Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.680Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.680Z] import copy
[2024-06-23T21:30:37.680Z] import functools
[2024-06-23T21:30:37.680Z] import textwrap
[2024-06-23T21:30:37.680Z] import weakref
[2024-06-23T21:30:37.680Z] import math
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.680Z] import numpy as np
[2024-06-23T21:30:37.680Z] from numpy.linalg import inv
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.680Z] from matplotlib import _api
[2024-06-23T21:30:37.680Z] > from matplotlib._path import (
[2024-06-23T21:30:37.680Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.680Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.680Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.680Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.680Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.680Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.680Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.680Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.680Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.680Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.680Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.680Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.680Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.680Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.680Z] code = main()
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.680Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.680Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.680Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.680Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.680Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.680Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.680Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.680Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.680Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.680Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.680Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.680Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.680Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.680Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.680Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.680Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.680Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.680Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.680Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.680Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.680Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.680Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.680Z] item.runtest()
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.680Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.680Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.680Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.680Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.680Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.680Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 269, in test_filled_simple_corner_mask_chunk_threads
[2024-06-23T21:30:37.680Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.680Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.680Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.680Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.680Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.680Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.680Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.680Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.680Z] from matplotlib._path import (
[2024-06-23T21:30:37.680Z] Traceback (most recent call last):
[2024-06-23T21:30:37.680Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.680Z] raise ImportError(msg)
[2024-06-23T21:30:37.680Z] ImportError:
[2024-06-23T21:30:37.680Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.680Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.680Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.680Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.680Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.680Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.680Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.680Z]
[2024-06-23T21:30:37.681Z] ______ test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedCode] _______
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] fill_type = <FillType.ChunkCombinedCode: 203>, thread_count = 3
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] @pytest.mark.image
[2024-06-23T21:30:37.681Z] @pytest.mark.threads
[2024-06-23T21:30:37.681Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.681Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.681Z] def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.681Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] tests/test_filled.py:269:
[2024-06-23T21:30:37.681Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.681Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.681Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.681Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.681Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.681Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.681Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.681Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.681Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.681Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.681Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.681Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.681Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.681Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] """
[2024-06-23T21:30:37.681Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.681Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.681Z] elements drawn on the canvas.
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.681Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.681Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.681Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.681Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.681Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.681Z] interactive performance.
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.681Z] to the graph:
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.681Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.681Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.681Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.681Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.681Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.681Z] themselves.
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.681Z] of how to use transforms.
[2024-06-23T21:30:37.681Z] """
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.681Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.681Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] import copy
[2024-06-23T21:30:37.681Z] import functools
[2024-06-23T21:30:37.681Z] import textwrap
[2024-06-23T21:30:37.681Z] import weakref
[2024-06-23T21:30:37.681Z] import math
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] import numpy as np
[2024-06-23T21:30:37.681Z] from numpy.linalg import inv
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] from matplotlib import _api
[2024-06-23T21:30:37.681Z] > from matplotlib._path import (
[2024-06-23T21:30:37.681Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.681Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.681Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.681Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.681Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.681Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.681Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.681Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.681Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.681Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.681Z] code = main()
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.681Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.681Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.681Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.681Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.681Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.681Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.681Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.681Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.681Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.681Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.681Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.681Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.681Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.681Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.681Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.681Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.681Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.681Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.681Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.681Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.681Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.681Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.681Z] item.runtest()
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.681Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.681Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.681Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.681Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.681Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.681Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 269, in test_filled_simple_corner_mask_chunk_threads
[2024-06-23T21:30:37.681Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.681Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.681Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.681Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.681Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.681Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.681Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.681Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.681Z] from matplotlib._path import (
[2024-06-23T21:30:37.681Z] Traceback (most recent call last):
[2024-06-23T21:30:37.681Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.681Z] raise ImportError(msg)
[2024-06-23T21:30:37.681Z] ImportError:
[2024-06-23T21:30:37.681Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.681Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.681Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.681Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.681Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.681Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] _____ test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedOffset] ______
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] fill_type = <FillType.ChunkCombinedOffset: 204>, thread_count = 3
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.681Z] @pytest.mark.image
[2024-06-23T21:30:37.681Z] @pytest.mark.threads
[2024-06-23T21:30:37.681Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.681Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.681Z] def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.681Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.681Z]
[2024-06-23T21:30:37.682Z] tests/test_filled.py:269:
[2024-06-23T21:30:37.682Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.682Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.682Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.682Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.682Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.682Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.682Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.682Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.682Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.682Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.682Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.682Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.682Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.682Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] """
[2024-06-23T21:30:37.682Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.682Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.682Z] elements drawn on the canvas.
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.682Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.682Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.682Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.682Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.682Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.682Z] interactive performance.
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.682Z] to the graph:
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.682Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.682Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.682Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.682Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.682Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.682Z] themselves.
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.682Z] of how to use transforms.
[2024-06-23T21:30:37.682Z] """
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.682Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.682Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] import copy
[2024-06-23T21:30:37.682Z] import functools
[2024-06-23T21:30:37.682Z] import textwrap
[2024-06-23T21:30:37.682Z] import weakref
[2024-06-23T21:30:37.682Z] import math
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] import numpy as np
[2024-06-23T21:30:37.682Z] from numpy.linalg import inv
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] from matplotlib import _api
[2024-06-23T21:30:37.682Z] > from matplotlib._path import (
[2024-06-23T21:30:37.682Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.682Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.682Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.682Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.682Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.682Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.682Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.682Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.682Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.682Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.682Z] code = main()
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.682Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.682Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.682Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.682Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.682Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.682Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.682Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.682Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.682Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.682Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.682Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.682Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.682Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.682Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.682Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.682Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.682Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.682Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.682Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.682Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.682Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.682Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.682Z] item.runtest()
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.682Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.682Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.682Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.682Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.682Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.682Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 269, in test_filled_simple_corner_mask_chunk_threads
[2024-06-23T21:30:37.682Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.682Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.682Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.682Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.682Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.682Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.682Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.682Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.682Z] from matplotlib._path import (
[2024-06-23T21:30:37.682Z] Traceback (most recent call last):
[2024-06-23T21:30:37.682Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.682Z] raise ImportError(msg)
[2024-06-23T21:30:37.682Z] ImportError:
[2024-06-23T21:30:37.682Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.682Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.682Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.682Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.682Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.682Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] ___ test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] ____
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] fill_type = <FillType.ChunkCombinedCodeOffset: 205>, thread_count = 3
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] @pytest.mark.image
[2024-06-23T21:30:37.682Z] @pytest.mark.threads
[2024-06-23T21:30:37.682Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.682Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.682Z] def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.682Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.682Z]
[2024-06-23T21:30:37.682Z] tests/test_filled.py:269:
[2024-06-23T21:30:37.682Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.682Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.682Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.682Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.682Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.682Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.682Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.682Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.683Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.683Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.683Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.683Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.683Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.683Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] """
[2024-06-23T21:30:37.683Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.683Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.683Z] elements drawn on the canvas.
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.683Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.683Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.683Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.683Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.683Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.683Z] interactive performance.
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.683Z] to the graph:
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.683Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.683Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.683Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.683Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.683Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.683Z] themselves.
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.683Z] of how to use transforms.
[2024-06-23T21:30:37.683Z] """
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.683Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.683Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] import copy
[2024-06-23T21:30:37.683Z] import functools
[2024-06-23T21:30:37.683Z] import textwrap
[2024-06-23T21:30:37.683Z] import weakref
[2024-06-23T21:30:37.683Z] import math
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] import numpy as np
[2024-06-23T21:30:37.683Z] from numpy.linalg import inv
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] from matplotlib import _api
[2024-06-23T21:30:37.683Z] > from matplotlib._path import (
[2024-06-23T21:30:37.683Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.683Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.683Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.683Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.683Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.683Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.683Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.683Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.683Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.683Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.683Z] code = main()
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.683Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.683Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.683Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.683Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.683Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.683Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.683Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.683Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.683Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.683Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.683Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.683Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.683Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.683Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.683Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.683Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.683Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.683Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.683Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.683Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.683Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.683Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.683Z] item.runtest()
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.683Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.683Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.683Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.683Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.683Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.683Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 269, in test_filled_simple_corner_mask_chunk_threads
[2024-06-23T21:30:37.683Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.683Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.683Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.683Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.683Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.683Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.683Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.683Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.683Z] from matplotlib._path import (
[2024-06-23T21:30:37.683Z] Traceback (most recent call last):
[2024-06-23T21:30:37.683Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.683Z] raise ImportError(msg)
[2024-06-23T21:30:37.683Z] ImportError:
[2024-06-23T21:30:37.683Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.683Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.683Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.683Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.683Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.683Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] __ test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] ___
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] fill_type = <FillType.ChunkCombinedOffsetOffset: 206>, thread_count = 3
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] @pytest.mark.image
[2024-06-23T21:30:37.683Z] @pytest.mark.threads
[2024-06-23T21:30:37.683Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.683Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.683Z] def test_filled_simple_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.683Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] tests/test_filled.py:269:
[2024-06-23T21:30:37.683Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.683Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.683Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.683Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.683Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.683Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.683Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.683Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.683Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.683Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.683Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.683Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.683Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.683Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.683Z]
[2024-06-23T21:30:37.683Z] """
[2024-06-23T21:30:37.683Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.683Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.684Z] elements drawn on the canvas.
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.684Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.684Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.684Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.684Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.684Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.684Z] interactive performance.
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.684Z] to the graph:
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.684Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.684Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.684Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.684Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.684Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.684Z] themselves.
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.684Z] of how to use transforms.
[2024-06-23T21:30:37.684Z] """
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.684Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.684Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] import copy
[2024-06-23T21:30:37.684Z] import functools
[2024-06-23T21:30:37.684Z] import textwrap
[2024-06-23T21:30:37.684Z] import weakref
[2024-06-23T21:30:37.684Z] import math
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] import numpy as np
[2024-06-23T21:30:37.684Z] from numpy.linalg import inv
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] from matplotlib import _api
[2024-06-23T21:30:37.684Z] > from matplotlib._path import (
[2024-06-23T21:30:37.684Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.684Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.684Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.684Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.684Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.684Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.684Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.684Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.684Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.684Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.684Z] code = main()
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.684Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.684Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.684Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.684Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.684Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.684Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.684Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.684Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.684Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.684Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.684Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.684Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.684Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.684Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.684Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.684Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.684Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.684Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.684Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.684Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.684Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.684Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.684Z] item.runtest()
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.684Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.684Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.684Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.684Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.684Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.684Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 269, in test_filled_simple_corner_mask_chunk_threads
[2024-06-23T21:30:37.684Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.684Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.684Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.684Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.684Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.684Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.684Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.684Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.684Z] from matplotlib._path import (
[2024-06-23T21:30:37.684Z] Traceback (most recent call last):
[2024-06-23T21:30:37.684Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.684Z] raise ImportError(msg)
[2024-06-23T21:30:37.684Z] ImportError:
[2024-06-23T21:30:37.684Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.684Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.684Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.684Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.684Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.684Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] ____________________ test_filled_simple_quad_as_tri[serial] ____________________
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] name = 'serial'
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] @pytest.mark.image
[2024-06-23T21:30:37.684Z] @pytest.mark.parametrize("name", util_test.quad_as_tri_names())
[2024-06-23T21:30:37.684Z] def test_filled_simple_quad_as_tri(name: str) -> None:
[2024-06-23T21:30:37.684Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.684Z]
[2024-06-23T21:30:37.684Z] tests/test_filled.py:299:
[2024-06-23T21:30:37.684Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.684Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.684Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.684Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.684Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.684Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.684Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.684Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.684Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.684Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.684Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.684Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.684Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.685Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] """
[2024-06-23T21:30:37.685Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.685Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.685Z] elements drawn on the canvas.
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.685Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.685Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.685Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.685Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.685Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.685Z] interactive performance.
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.685Z] to the graph:
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.685Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.685Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.685Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.685Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.685Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.685Z] themselves.
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.685Z] of how to use transforms.
[2024-06-23T21:30:37.685Z] """
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.685Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.685Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] import copy
[2024-06-23T21:30:37.685Z] import functools
[2024-06-23T21:30:37.685Z] import textwrap
[2024-06-23T21:30:37.685Z] import weakref
[2024-06-23T21:30:37.685Z] import math
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] import numpy as np
[2024-06-23T21:30:37.685Z] from numpy.linalg import inv
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] from matplotlib import _api
[2024-06-23T21:30:37.685Z] > from matplotlib._path import (
[2024-06-23T21:30:37.685Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.685Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.685Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.685Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.685Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.685Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.685Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.685Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.685Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.685Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.685Z] code = main()
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.685Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.685Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.685Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.685Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.685Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.685Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.685Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.685Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.685Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.685Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.685Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.685Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.685Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.685Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.685Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.685Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.685Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.685Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.685Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.685Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.685Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.685Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.685Z] item.runtest()
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.685Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.685Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.685Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.685Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.685Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.685Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 299, in test_filled_simple_quad_as_tri
[2024-06-23T21:30:37.685Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.685Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.685Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.685Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.685Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.685Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.685Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.685Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.685Z] from matplotlib._path import (
[2024-06-23T21:30:37.685Z] Traceback (most recent call last):
[2024-06-23T21:30:37.685Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.685Z] raise ImportError(msg)
[2024-06-23T21:30:37.685Z] ImportError:
[2024-06-23T21:30:37.685Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.685Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.685Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.685Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.685Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.685Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] ___________________ test_filled_simple_quad_as_tri[threaded] ___________________
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] name = 'threaded'
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] @pytest.mark.image
[2024-06-23T21:30:37.685Z] @pytest.mark.parametrize("name", util_test.quad_as_tri_names())
[2024-06-23T21:30:37.685Z] def test_filled_simple_quad_as_tri(name: str) -> None:
[2024-06-23T21:30:37.685Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] tests/test_filled.py:299:
[2024-06-23T21:30:37.685Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.685Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.685Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.685Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.685Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.685Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.685Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.685Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.685Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.685Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.685Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.685Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.685Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.685Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] """
[2024-06-23T21:30:37.685Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.685Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.685Z] elements drawn on the canvas.
[2024-06-23T21:30:37.685Z]
[2024-06-23T21:30:37.685Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.685Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.685Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.685Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.685Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.685Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.686Z] interactive performance.
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.686Z] to the graph:
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.686Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.686Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.686Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.686Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.686Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.686Z] themselves.
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.686Z] of how to use transforms.
[2024-06-23T21:30:37.686Z] """
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.686Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.686Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] import copy
[2024-06-23T21:30:37.686Z] import functools
[2024-06-23T21:30:37.686Z] import textwrap
[2024-06-23T21:30:37.686Z] import weakref
[2024-06-23T21:30:37.686Z] import math
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] import numpy as np
[2024-06-23T21:30:37.686Z] from numpy.linalg import inv
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] from matplotlib import _api
[2024-06-23T21:30:37.686Z] > from matplotlib._path import (
[2024-06-23T21:30:37.686Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.686Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.686Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.686Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.686Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.686Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.686Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.686Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.686Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.686Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.686Z] code = main()
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.686Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.686Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.686Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.686Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.686Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.686Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.686Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.686Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.686Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.686Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.686Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.686Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.686Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.686Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.686Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.686Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.686Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.686Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.686Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.686Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.686Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.686Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.686Z] item.runtest()
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.686Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.686Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.686Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.686Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.686Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.686Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 299, in test_filled_simple_quad_as_tri
[2024-06-23T21:30:37.686Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.686Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.686Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.686Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.686Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.686Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.686Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.686Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.686Z] from matplotlib._path import (
[2024-06-23T21:30:37.686Z] Traceback (most recent call last):
[2024-06-23T21:30:37.686Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.686Z] raise ImportError(msg)
[2024-06-23T21:30:37.686Z] ImportError:
[2024-06-23T21:30:37.686Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.686Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.686Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.686Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.686Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.686Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] ____________________ test_filled_random[mpl2005-OuterCode] _____________________
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] name = 'mpl2005', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] @pytest.mark.image
[2024-06-23T21:30:37.686Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.686Z] def test_filled_random(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.686Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] tests/test_filled.py:323:
[2024-06-23T21:30:37.686Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.686Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.686Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.686Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.686Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.686Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.686Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.686Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.686Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.686Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.686Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.686Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.686Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.686Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] """
[2024-06-23T21:30:37.686Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.686Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.686Z] elements drawn on the canvas.
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.686Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.686Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.686Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.686Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.686Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.686Z] interactive performance.
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.686Z] to the graph:
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.686Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.686Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.686Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.686Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.686Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.686Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.686Z]
[2024-06-23T21:30:37.687Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.687Z] themselves.
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.687Z] of how to use transforms.
[2024-06-23T21:30:37.687Z] """
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.687Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.687Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] import copy
[2024-06-23T21:30:37.687Z] import functools
[2024-06-23T21:30:37.687Z] import textwrap
[2024-06-23T21:30:37.687Z] import weakref
[2024-06-23T21:30:37.687Z] import math
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] import numpy as np
[2024-06-23T21:30:37.687Z] from numpy.linalg import inv
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] from matplotlib import _api
[2024-06-23T21:30:37.687Z] > from matplotlib._path import (
[2024-06-23T21:30:37.687Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.687Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.687Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.687Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.687Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.687Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.687Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.687Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.687Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.687Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.687Z] code = main()
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.687Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.687Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.687Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.687Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.687Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.687Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.687Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.687Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.687Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.687Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.687Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.687Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.687Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.687Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.687Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.687Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.687Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.687Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.687Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.687Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.687Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.687Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.687Z] item.runtest()
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.687Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.687Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.687Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.687Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.687Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.687Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 323, in test_filled_random
[2024-06-23T21:30:37.687Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.687Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.687Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.687Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.687Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.687Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.687Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.687Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.687Z] from matplotlib._path import (
[2024-06-23T21:30:37.687Z] Traceback (most recent call last):
[2024-06-23T21:30:37.687Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.687Z] raise ImportError(msg)
[2024-06-23T21:30:37.687Z] ImportError:
[2024-06-23T21:30:37.687Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.687Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.687Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.687Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.687Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.687Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] ____________________ test_filled_random[mpl2014-OuterCode] _____________________
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] name = 'mpl2014', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] @pytest.mark.image
[2024-06-23T21:30:37.687Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.687Z] def test_filled_random(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.687Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] tests/test_filled.py:323:
[2024-06-23T21:30:37.687Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.687Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.687Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.687Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.687Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.687Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.687Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.687Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.687Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.687Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.687Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.687Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.687Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.687Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] """
[2024-06-23T21:30:37.687Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.687Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.687Z] elements drawn on the canvas.
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.687Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.687Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.687Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.687Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.687Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.687Z] interactive performance.
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.687Z] to the graph:
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.687Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.687Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.687Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.687Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.687Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.687Z] themselves.
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.687Z] of how to use transforms.
[2024-06-23T21:30:37.687Z] """
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.687Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.687Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.687Z]
[2024-06-23T21:30:37.687Z] import copy
[2024-06-23T21:30:37.687Z] import functools
[2024-06-23T21:30:37.688Z] import textwrap
[2024-06-23T21:30:37.688Z] import weakref
[2024-06-23T21:30:37.688Z] import math
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] import numpy as np
[2024-06-23T21:30:37.688Z] from numpy.linalg import inv
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] from matplotlib import _api
[2024-06-23T21:30:37.688Z] > from matplotlib._path import (
[2024-06-23T21:30:37.688Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.688Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.688Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.688Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.688Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.688Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.688Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.688Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.688Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.688Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.688Z] code = main()
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.688Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.688Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.688Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.688Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.688Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.688Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.688Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.688Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.688Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.688Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.688Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.688Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.688Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.688Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.688Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.688Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.688Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.688Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.688Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.688Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.688Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.688Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.688Z] item.runtest()
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.688Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.688Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.688Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.688Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.688Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.688Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 323, in test_filled_random
[2024-06-23T21:30:37.688Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.688Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.688Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.688Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.688Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.688Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.688Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.688Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.688Z] from matplotlib._path import (
[2024-06-23T21:30:37.688Z] Traceback (most recent call last):
[2024-06-23T21:30:37.688Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.688Z] raise ImportError(msg)
[2024-06-23T21:30:37.688Z] ImportError:
[2024-06-23T21:30:37.688Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.688Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.688Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.688Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.688Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.688Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] _____________________ test_filled_random[serial-OuterCode] _____________________
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] name = 'serial', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] @pytest.mark.image
[2024-06-23T21:30:37.688Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.688Z] def test_filled_random(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.688Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] tests/test_filled.py:323:
[2024-06-23T21:30:37.688Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.688Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.688Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.688Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.688Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.688Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.688Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.688Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.688Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.688Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.688Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.688Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.688Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.688Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] """
[2024-06-23T21:30:37.688Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.688Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.688Z] elements drawn on the canvas.
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.688Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.688Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.688Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.688Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.688Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.688Z] interactive performance.
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.688Z] to the graph:
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.688Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.688Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.688Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.688Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.688Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.688Z] themselves.
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.688Z] of how to use transforms.
[2024-06-23T21:30:37.688Z] """
[2024-06-23T21:30:37.688Z]
[2024-06-23T21:30:37.688Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.689Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.689Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] import copy
[2024-06-23T21:30:37.689Z] import functools
[2024-06-23T21:30:37.689Z] import textwrap
[2024-06-23T21:30:37.689Z] import weakref
[2024-06-23T21:30:37.689Z] import math
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] import numpy as np
[2024-06-23T21:30:37.689Z] from numpy.linalg import inv
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] from matplotlib import _api
[2024-06-23T21:30:37.689Z] > from matplotlib._path import (
[2024-06-23T21:30:37.689Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.689Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.689Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.689Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.689Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.689Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.689Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.689Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.689Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.689Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.689Z] code = main()
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.689Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.689Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.689Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.689Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.689Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.689Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.689Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.689Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.689Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.689Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.689Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.689Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.689Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.689Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.689Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.689Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.689Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.689Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.689Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.689Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.689Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.689Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.689Z] item.runtest()
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.689Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.689Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.689Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.689Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.689Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.689Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 323, in test_filled_random
[2024-06-23T21:30:37.689Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.689Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.689Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.689Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.689Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.689Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.689Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.689Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.689Z] from matplotlib._path import (
[2024-06-23T21:30:37.689Z] Traceback (most recent call last):
[2024-06-23T21:30:37.689Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.689Z] raise ImportError(msg)
[2024-06-23T21:30:37.689Z] ImportError:
[2024-06-23T21:30:37.689Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.689Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.689Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.689Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.689Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.689Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] ____________________ test_filled_random[serial-OuterOffset] ____________________
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] name = 'serial', fill_type = <FillType.OuterOffset: 202>
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] @pytest.mark.image
[2024-06-23T21:30:37.689Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.689Z] def test_filled_random(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.689Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] tests/test_filled.py:323:
[2024-06-23T21:30:37.689Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.689Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.689Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.689Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.689Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.689Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.689Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.689Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.689Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.689Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.689Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.689Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.689Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.689Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] """
[2024-06-23T21:30:37.689Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.689Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.689Z] elements drawn on the canvas.
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.689Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.689Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.689Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.689Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.689Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.689Z] interactive performance.
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.689Z] to the graph:
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.689Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.689Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.689Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.689Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.689Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.689Z] themselves.
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.689Z] of how to use transforms.
[2024-06-23T21:30:37.689Z] """
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.689Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.689Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] import copy
[2024-06-23T21:30:37.689Z] import functools
[2024-06-23T21:30:37.689Z] import textwrap
[2024-06-23T21:30:37.689Z] import weakref
[2024-06-23T21:30:37.689Z] import math
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] import numpy as np
[2024-06-23T21:30:37.689Z] from numpy.linalg import inv
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.689Z] from matplotlib import _api
[2024-06-23T21:30:37.689Z] > from matplotlib._path import (
[2024-06-23T21:30:37.689Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.689Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.689Z]
[2024-06-23T21:30:37.690Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.690Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.690Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.690Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.690Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.690Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.690Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.690Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.690Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.690Z] code = main()
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.690Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.690Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.690Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.690Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.690Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.690Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.690Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.690Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.690Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.690Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.690Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.690Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.690Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.690Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.690Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.690Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.690Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.690Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.690Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.690Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.690Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.690Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.690Z] item.runtest()
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.690Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.690Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.690Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.690Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.690Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.690Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 323, in test_filled_random
[2024-06-23T21:30:37.690Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.690Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.690Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.690Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.690Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.690Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.690Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.690Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.690Z] from matplotlib._path import (
[2024-06-23T21:30:37.690Z] Traceback (most recent call last):
[2024-06-23T21:30:37.690Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.690Z] raise ImportError(msg)
[2024-06-23T21:30:37.690Z] ImportError:
[2024-06-23T21:30:37.690Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.690Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.690Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.690Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.690Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.690Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] _________________ test_filled_random[serial-ChunkCombinedCode] _________________
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] name = 'serial', fill_type = <FillType.ChunkCombinedCode: 203>
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] @pytest.mark.image
[2024-06-23T21:30:37.690Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.690Z] def test_filled_random(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.690Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] tests/test_filled.py:323:
[2024-06-23T21:30:37.690Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.690Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.690Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.690Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.690Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.690Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.690Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.690Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.690Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.690Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.690Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.690Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.690Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.690Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] """
[2024-06-23T21:30:37.690Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.690Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.690Z] elements drawn on the canvas.
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.690Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.690Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.690Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.690Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.690Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.690Z] interactive performance.
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.690Z] to the graph:
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.690Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.690Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.690Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.690Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.690Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.690Z] themselves.
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.690Z] of how to use transforms.
[2024-06-23T21:30:37.690Z] """
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.690Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.690Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] import copy
[2024-06-23T21:30:37.690Z] import functools
[2024-06-23T21:30:37.690Z] import textwrap
[2024-06-23T21:30:37.690Z] import weakref
[2024-06-23T21:30:37.690Z] import math
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] import numpy as np
[2024-06-23T21:30:37.690Z] from numpy.linalg import inv
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] from matplotlib import _api
[2024-06-23T21:30:37.690Z] > from matplotlib._path import (
[2024-06-23T21:30:37.690Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.690Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.690Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.690Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.690Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.690Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.690Z]
[2024-06-23T21:30:37.690Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.690Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.690Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.691Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.691Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.691Z] code = main()
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.691Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.691Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.691Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.691Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.691Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.691Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.691Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.691Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.691Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.691Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.691Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.691Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.691Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.691Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.691Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.691Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.691Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.691Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.691Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.691Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.691Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.691Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.691Z] item.runtest()
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.691Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.691Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.691Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.691Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.691Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.691Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 323, in test_filled_random
[2024-06-23T21:30:37.691Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.691Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.691Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.691Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.691Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.691Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.691Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.691Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.691Z] from matplotlib._path import (
[2024-06-23T21:30:37.691Z] Traceback (most recent call last):
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.691Z] raise ImportError(msg)
[2024-06-23T21:30:37.691Z] ImportError:
[2024-06-23T21:30:37.691Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.691Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.691Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.691Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.691Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.691Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] ________________ test_filled_random[serial-ChunkCombinedOffset] ________________
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] name = 'serial', fill_type = <FillType.ChunkCombinedOffset: 204>
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] @pytest.mark.image
[2024-06-23T21:30:37.691Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.691Z] def test_filled_random(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.691Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] tests/test_filled.py:323:
[2024-06-23T21:30:37.691Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.691Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.691Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.691Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.691Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.691Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.691Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.691Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.691Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.691Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.691Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.691Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.691Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.691Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] """
[2024-06-23T21:30:37.691Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.691Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.691Z] elements drawn on the canvas.
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.691Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.691Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.691Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.691Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.691Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.691Z] interactive performance.
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.691Z] to the graph:
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.691Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.691Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.691Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.691Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.691Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.691Z] themselves.
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.691Z] of how to use transforms.
[2024-06-23T21:30:37.691Z] """
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.691Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.691Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] import copy
[2024-06-23T21:30:37.691Z] import functools
[2024-06-23T21:30:37.691Z] import textwrap
[2024-06-23T21:30:37.691Z] import weakref
[2024-06-23T21:30:37.691Z] import math
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] import numpy as np
[2024-06-23T21:30:37.691Z] from numpy.linalg import inv
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] from matplotlib import _api
[2024-06-23T21:30:37.691Z] > from matplotlib._path import (
[2024-06-23T21:30:37.691Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.691Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.691Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.691Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.691Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.691Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.691Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.691Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.691Z]
[2024-06-23T21:30:37.691Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.691Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.691Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.691Z] code = main()
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.691Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.691Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.691Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.692Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.692Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.692Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.692Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.692Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.692Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.692Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.692Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.692Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.692Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.692Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.692Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.692Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.692Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.692Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.692Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.692Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.692Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.692Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.692Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.692Z] item.runtest()
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.692Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.692Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.692Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.692Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.692Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.692Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 323, in test_filled_random
[2024-06-23T21:30:37.692Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.692Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.692Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.692Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.692Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.692Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.692Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.692Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.692Z] from matplotlib._path import (
[2024-06-23T21:30:37.692Z] Traceback (most recent call last):
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.692Z] raise ImportError(msg)
[2024-06-23T21:30:37.692Z] ImportError:
[2024-06-23T21:30:37.692Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.692Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.692Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.692Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.692Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.692Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] ______________ test_filled_random[serial-ChunkCombinedCodeOffset] ______________
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] name = 'serial', fill_type = <FillType.ChunkCombinedCodeOffset: 205>
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] @pytest.mark.image
[2024-06-23T21:30:37.692Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.692Z] def test_filled_random(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.692Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] tests/test_filled.py:323:
[2024-06-23T21:30:37.692Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.692Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.692Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.692Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.692Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.692Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.692Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.692Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.692Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.692Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.692Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.692Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.692Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.692Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] """
[2024-06-23T21:30:37.692Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.692Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.692Z] elements drawn on the canvas.
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.692Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.692Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.692Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.692Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.692Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.692Z] interactive performance.
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.692Z] to the graph:
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.692Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.692Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.692Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.692Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.692Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.692Z] themselves.
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.692Z] of how to use transforms.
[2024-06-23T21:30:37.692Z] """
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.692Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.692Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] import copy
[2024-06-23T21:30:37.692Z] import functools
[2024-06-23T21:30:37.692Z] import textwrap
[2024-06-23T21:30:37.692Z] import weakref
[2024-06-23T21:30:37.692Z] import math
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] import numpy as np
[2024-06-23T21:30:37.692Z] from numpy.linalg import inv
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] from matplotlib import _api
[2024-06-23T21:30:37.692Z] > from matplotlib._path import (
[2024-06-23T21:30:37.692Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.692Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.692Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.692Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.692Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.692Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.692Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.692Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.692Z]
[2024-06-23T21:30:37.692Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.692Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.692Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.692Z] code = main()
[2024-06-23T21:30:37.692Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.693Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.693Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.693Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.693Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.693Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.693Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.693Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.693Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.693Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.693Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.693Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.693Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.693Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.693Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.693Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.693Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.693Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.693Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.693Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.693Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.693Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.693Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.693Z] item.runtest()
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.693Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.693Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.693Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.693Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.693Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.693Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 323, in test_filled_random
[2024-06-23T21:30:37.693Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.693Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.693Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.693Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.693Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.693Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.693Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.693Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.693Z] from matplotlib._path import (
[2024-06-23T21:30:37.693Z] Traceback (most recent call last):
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.693Z] raise ImportError(msg)
[2024-06-23T21:30:37.693Z] ImportError:
[2024-06-23T21:30:37.693Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.693Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.693Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.693Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.693Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.693Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] _____________ test_filled_random[serial-ChunkCombinedOffsetOffset] _____________
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] name = 'serial', fill_type = <FillType.ChunkCombinedOffsetOffset: 206>
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] @pytest.mark.image
[2024-06-23T21:30:37.693Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.693Z] def test_filled_random(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.693Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] tests/test_filled.py:323:
[2024-06-23T21:30:37.693Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.693Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.693Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.693Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.693Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.693Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.693Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.693Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.693Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.693Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.693Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.693Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.693Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.693Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] """
[2024-06-23T21:30:37.693Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.693Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.693Z] elements drawn on the canvas.
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.693Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.693Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.693Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.693Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.693Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.693Z] interactive performance.
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.693Z] to the graph:
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.693Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.693Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.693Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.693Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.693Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.693Z] themselves.
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.693Z] of how to use transforms.
[2024-06-23T21:30:37.693Z] """
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.693Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.693Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] import copy
[2024-06-23T21:30:37.693Z] import functools
[2024-06-23T21:30:37.693Z] import textwrap
[2024-06-23T21:30:37.693Z] import weakref
[2024-06-23T21:30:37.693Z] import math
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] import numpy as np
[2024-06-23T21:30:37.693Z] from numpy.linalg import inv
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] from matplotlib import _api
[2024-06-23T21:30:37.693Z] > from matplotlib._path import (
[2024-06-23T21:30:37.693Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.693Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.693Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.693Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.693Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.693Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.693Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.693Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.693Z]
[2024-06-23T21:30:37.693Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.693Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.693Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.693Z] code = main()
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.693Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.693Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.693Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.693Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.693Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.693Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.694Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.694Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.694Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.694Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.694Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.694Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.694Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.694Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.694Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.694Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.694Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.694Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.694Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.694Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.694Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.694Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.694Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.694Z] item.runtest()
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.694Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.694Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.694Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.694Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.694Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.694Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 323, in test_filled_random
[2024-06-23T21:30:37.694Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.694Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.694Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.694Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.694Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.694Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.694Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.694Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.694Z] from matplotlib._path import (
[2024-06-23T21:30:37.694Z] Traceback (most recent call last):
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.694Z] raise ImportError(msg)
[2024-06-23T21:30:37.694Z] ImportError:
[2024-06-23T21:30:37.694Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.694Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.694Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.694Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.694Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.694Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] ____________________ test_filled_random[threaded-OuterCode] ____________________
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] name = 'threaded', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] @pytest.mark.image
[2024-06-23T21:30:37.694Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.694Z] def test_filled_random(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.694Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] tests/test_filled.py:323:
[2024-06-23T21:30:37.694Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.694Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.694Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.694Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.694Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.694Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.694Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.694Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.694Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.694Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.694Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.694Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.694Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.694Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] """
[2024-06-23T21:30:37.694Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.694Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.694Z] elements drawn on the canvas.
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.694Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.694Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.694Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.694Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.694Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.694Z] interactive performance.
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.694Z] to the graph:
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.694Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.694Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.694Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.694Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.694Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.694Z] themselves.
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.694Z] of how to use transforms.
[2024-06-23T21:30:37.694Z] """
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.694Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.694Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] import copy
[2024-06-23T21:30:37.694Z] import functools
[2024-06-23T21:30:37.694Z] import textwrap
[2024-06-23T21:30:37.694Z] import weakref
[2024-06-23T21:30:37.694Z] import math
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] import numpy as np
[2024-06-23T21:30:37.694Z] from numpy.linalg import inv
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] from matplotlib import _api
[2024-06-23T21:30:37.694Z] > from matplotlib._path import (
[2024-06-23T21:30:37.694Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.694Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.694Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.694Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.694Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.694Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.694Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.694Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.694Z]
[2024-06-23T21:30:37.694Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.694Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.694Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.694Z] code = main()
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.694Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.694Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.694Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.694Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.694Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.694Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.694Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.694Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.694Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.694Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.695Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.695Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.695Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.695Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.695Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.695Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.695Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.695Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.695Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.695Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.695Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.695Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.695Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.695Z] item.runtest()
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.695Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.695Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.695Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.695Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.695Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.695Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 323, in test_filled_random
[2024-06-23T21:30:37.695Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.695Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.695Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.695Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.695Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.695Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.695Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.695Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.695Z] from matplotlib._path import (
[2024-06-23T21:30:37.695Z] Traceback (most recent call last):
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.695Z] raise ImportError(msg)
[2024-06-23T21:30:37.695Z] ImportError:
[2024-06-23T21:30:37.695Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.695Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.695Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.695Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.695Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.695Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] ___________________ test_filled_random[threaded-OuterOffset] ___________________
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] name = 'threaded', fill_type = <FillType.OuterOffset: 202>
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] @pytest.mark.image
[2024-06-23T21:30:37.695Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.695Z] def test_filled_random(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.695Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] tests/test_filled.py:323:
[2024-06-23T21:30:37.695Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.695Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.695Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.695Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.695Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.695Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.695Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.695Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.695Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.695Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.695Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.695Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.695Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.695Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] """
[2024-06-23T21:30:37.695Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.695Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.695Z] elements drawn on the canvas.
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.695Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.695Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.695Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.695Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.695Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.695Z] interactive performance.
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.695Z] to the graph:
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.695Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.695Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.695Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.695Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.695Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.695Z] themselves.
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.695Z] of how to use transforms.
[2024-06-23T21:30:37.695Z] """
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.695Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.695Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] import copy
[2024-06-23T21:30:37.695Z] import functools
[2024-06-23T21:30:37.695Z] import textwrap
[2024-06-23T21:30:37.695Z] import weakref
[2024-06-23T21:30:37.695Z] import math
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] import numpy as np
[2024-06-23T21:30:37.695Z] from numpy.linalg import inv
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] from matplotlib import _api
[2024-06-23T21:30:37.695Z] > from matplotlib._path import (
[2024-06-23T21:30:37.695Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.695Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.695Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.695Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.695Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.695Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.695Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.695Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.695Z]
[2024-06-23T21:30:37.695Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.695Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.695Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.695Z] code = main()
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.695Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.695Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.695Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.695Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.695Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.695Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.695Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.695Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.695Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.695Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.695Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.695Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.695Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.695Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.695Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.696Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.696Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.696Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.696Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.696Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.696Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.696Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.696Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.696Z] item.runtest()
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.696Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.696Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.696Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.696Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.696Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.696Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 323, in test_filled_random
[2024-06-23T21:30:37.696Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.696Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.696Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.696Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.696Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.696Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.696Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.696Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.696Z] from matplotlib._path import (
[2024-06-23T21:30:37.696Z] Traceback (most recent call last):
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.696Z] raise ImportError(msg)
[2024-06-23T21:30:37.696Z] ImportError:
[2024-06-23T21:30:37.696Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.696Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.696Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.696Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.696Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.696Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] ________________ test_filled_random[threaded-ChunkCombinedCode] ________________
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] name = 'threaded', fill_type = <FillType.ChunkCombinedCode: 203>
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] @pytest.mark.image
[2024-06-23T21:30:37.696Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.696Z] def test_filled_random(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.696Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] tests/test_filled.py:323:
[2024-06-23T21:30:37.696Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.696Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.696Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.696Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.696Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.696Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.696Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.696Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.696Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.696Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.696Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.696Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.696Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.696Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] """
[2024-06-23T21:30:37.696Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.696Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.696Z] elements drawn on the canvas.
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.696Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.696Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.696Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.696Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.696Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.696Z] interactive performance.
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.696Z] to the graph:
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.696Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.696Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.696Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.696Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.696Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.696Z] themselves.
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.696Z] of how to use transforms.
[2024-06-23T21:30:37.696Z] """
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.696Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.696Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] import copy
[2024-06-23T21:30:37.696Z] import functools
[2024-06-23T21:30:37.696Z] import textwrap
[2024-06-23T21:30:37.696Z] import weakref
[2024-06-23T21:30:37.696Z] import math
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] import numpy as np
[2024-06-23T21:30:37.696Z] from numpy.linalg import inv
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] from matplotlib import _api
[2024-06-23T21:30:37.696Z] > from matplotlib._path import (
[2024-06-23T21:30:37.696Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.696Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.696Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.696Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.696Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.696Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.696Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.696Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.696Z]
[2024-06-23T21:30:37.696Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.696Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.696Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.696Z] code = main()
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.696Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.696Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.696Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.696Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.696Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.696Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.696Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.696Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.696Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.696Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.696Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.696Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.696Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.696Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.696Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.696Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.696Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.696Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.696Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.696Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.697Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.697Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.697Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.697Z] item.runtest()
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.697Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.697Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.697Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.697Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.697Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.697Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 323, in test_filled_random
[2024-06-23T21:30:37.697Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.697Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.697Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.697Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.697Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.697Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.697Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.697Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.697Z] from matplotlib._path import (
[2024-06-23T21:30:37.697Z] Traceback (most recent call last):
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.697Z] raise ImportError(msg)
[2024-06-23T21:30:37.697Z] ImportError:
[2024-06-23T21:30:37.697Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.697Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.697Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.697Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.697Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.697Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] _______________ test_filled_random[threaded-ChunkCombinedOffset] _______________
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] name = 'threaded', fill_type = <FillType.ChunkCombinedOffset: 204>
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] @pytest.mark.image
[2024-06-23T21:30:37.697Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.697Z] def test_filled_random(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.697Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] tests/test_filled.py:323:
[2024-06-23T21:30:37.697Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.697Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.697Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.697Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.697Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.697Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.697Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.697Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.697Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.697Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.697Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.697Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.697Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.697Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] """
[2024-06-23T21:30:37.697Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.697Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.697Z] elements drawn on the canvas.
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.697Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.697Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.697Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.697Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.697Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.697Z] interactive performance.
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.697Z] to the graph:
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.697Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.697Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.697Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.697Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.697Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.697Z] themselves.
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.697Z] of how to use transforms.
[2024-06-23T21:30:37.697Z] """
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.697Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.697Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] import copy
[2024-06-23T21:30:37.697Z] import functools
[2024-06-23T21:30:37.697Z] import textwrap
[2024-06-23T21:30:37.697Z] import weakref
[2024-06-23T21:30:37.697Z] import math
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] import numpy as np
[2024-06-23T21:30:37.697Z] from numpy.linalg import inv
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] from matplotlib import _api
[2024-06-23T21:30:37.697Z] > from matplotlib._path import (
[2024-06-23T21:30:37.697Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.697Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.697Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.697Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.697Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.697Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.697Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.697Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.697Z]
[2024-06-23T21:30:37.697Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.697Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.697Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.697Z] code = main()
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.697Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.697Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.697Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.697Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.697Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.697Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.697Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.697Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.697Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.697Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.697Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.697Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.697Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.697Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.697Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.697Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.697Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.697Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.698Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.698Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.698Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.698Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.698Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.698Z] item.runtest()
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.698Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.698Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.698Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.698Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.698Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.698Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 323, in test_filled_random
[2024-06-23T21:30:37.698Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.698Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.698Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.698Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.698Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.698Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.698Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.698Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.698Z] from matplotlib._path import (
[2024-06-23T21:30:37.698Z] Traceback (most recent call last):
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.698Z] raise ImportError(msg)
[2024-06-23T21:30:37.698Z] ImportError:
[2024-06-23T21:30:37.698Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.698Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.698Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.698Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.698Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.698Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] _____________ test_filled_random[threaded-ChunkCombinedCodeOffset] _____________
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] name = 'threaded', fill_type = <FillType.ChunkCombinedCodeOffset: 205>
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] @pytest.mark.image
[2024-06-23T21:30:37.698Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.698Z] def test_filled_random(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.698Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] tests/test_filled.py:323:
[2024-06-23T21:30:37.698Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.698Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.698Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.698Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.698Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.698Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.698Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.698Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.698Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.698Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.698Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.698Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.698Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.698Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] """
[2024-06-23T21:30:37.698Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.698Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.698Z] elements drawn on the canvas.
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.698Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.698Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.698Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.698Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.698Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.698Z] interactive performance.
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.698Z] to the graph:
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.698Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.698Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.698Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.698Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.698Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.698Z] themselves.
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.698Z] of how to use transforms.
[2024-06-23T21:30:37.698Z] """
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.698Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.698Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] import copy
[2024-06-23T21:30:37.698Z] import functools
[2024-06-23T21:30:37.698Z] import textwrap
[2024-06-23T21:30:37.698Z] import weakref
[2024-06-23T21:30:37.698Z] import math
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] import numpy as np
[2024-06-23T21:30:37.698Z] from numpy.linalg import inv
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] from matplotlib import _api
[2024-06-23T21:30:37.698Z] > from matplotlib._path import (
[2024-06-23T21:30:37.698Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.698Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.698Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.698Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.698Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.698Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.698Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.698Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.698Z]
[2024-06-23T21:30:37.698Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.698Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.698Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.698Z] code = main()
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.698Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.698Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.698Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.698Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.698Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.698Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.698Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.698Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.698Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.698Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.698Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.698Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.698Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.698Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.698Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.698Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.698Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.698Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.698Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.698Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.698Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.698Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.698Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.699Z] item.runtest()
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.699Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.699Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.699Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.699Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.699Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.699Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 323, in test_filled_random
[2024-06-23T21:30:37.699Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.699Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.699Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.699Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.699Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.699Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.699Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.699Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.699Z] from matplotlib._path import (
[2024-06-23T21:30:37.699Z] Traceback (most recent call last):
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.699Z] raise ImportError(msg)
[2024-06-23T21:30:37.699Z] ImportError:
[2024-06-23T21:30:37.699Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.699Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.699Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.699Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.699Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.699Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] ____________ test_filled_random[threaded-ChunkCombinedOffsetOffset] ____________
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] name = 'threaded', fill_type = <FillType.ChunkCombinedOffsetOffset: 206>
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] @pytest.mark.image
[2024-06-23T21:30:37.699Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.699Z] def test_filled_random(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.699Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] tests/test_filled.py:323:
[2024-06-23T21:30:37.699Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.699Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.699Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.699Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.699Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.699Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.699Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.699Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.699Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.699Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.699Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.699Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.699Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.699Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] """
[2024-06-23T21:30:37.699Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.699Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.699Z] elements drawn on the canvas.
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.699Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.699Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.699Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.699Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.699Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.699Z] interactive performance.
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.699Z] to the graph:
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.699Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.699Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.699Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.699Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.699Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.699Z] themselves.
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.699Z] of how to use transforms.
[2024-06-23T21:30:37.699Z] """
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.699Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.699Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] import copy
[2024-06-23T21:30:37.699Z] import functools
[2024-06-23T21:30:37.699Z] import textwrap
[2024-06-23T21:30:37.699Z] import weakref
[2024-06-23T21:30:37.699Z] import math
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] import numpy as np
[2024-06-23T21:30:37.699Z] from numpy.linalg import inv
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] from matplotlib import _api
[2024-06-23T21:30:37.699Z] > from matplotlib._path import (
[2024-06-23T21:30:37.699Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.699Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.699Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.699Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.699Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.699Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.699Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.699Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.699Z]
[2024-06-23T21:30:37.699Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.699Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.699Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.699Z] code = main()
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.699Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.699Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.699Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.699Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.699Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.699Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.699Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.699Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.699Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.699Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.699Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.699Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.699Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.699Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.699Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.699Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.699Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.699Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.699Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.699Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.699Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.699Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.699Z] item.runtest()
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.699Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.699Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.699Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.699Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.699Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.700Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.700Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 323, in test_filled_random
[2024-06-23T21:30:37.700Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.700Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.700Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.700Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.700Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.700Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.700Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.700Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.700Z] from matplotlib._path import (
[2024-06-23T21:30:37.700Z] Traceback (most recent call last):
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.700Z] raise ImportError(msg)
[2024-06-23T21:30:37.700Z] ImportError:
[2024-06-23T21:30:37.700Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.700Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.700Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.700Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.700Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.700Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] _________________ test_filled_random_chunk[mpl2005-OuterCode] __________________
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] name = 'mpl2005', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] @pytest.mark.image
[2024-06-23T21:30:37.700Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.700Z] def test_filled_random_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.700Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] tests/test_filled.py:346:
[2024-06-23T21:30:37.700Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.700Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.700Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.700Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.700Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.700Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.700Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.700Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.700Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.700Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.700Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.700Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.700Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.700Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] """
[2024-06-23T21:30:37.700Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.700Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.700Z] elements drawn on the canvas.
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.700Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.700Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.700Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.700Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.700Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.700Z] interactive performance.
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.700Z] to the graph:
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.700Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.700Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.700Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.700Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.700Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.700Z] themselves.
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.700Z] of how to use transforms.
[2024-06-23T21:30:37.700Z] """
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.700Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.700Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] import copy
[2024-06-23T21:30:37.700Z] import functools
[2024-06-23T21:30:37.700Z] import textwrap
[2024-06-23T21:30:37.700Z] import weakref
[2024-06-23T21:30:37.700Z] import math
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] import numpy as np
[2024-06-23T21:30:37.700Z] from numpy.linalg import inv
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] from matplotlib import _api
[2024-06-23T21:30:37.700Z] > from matplotlib._path import (
[2024-06-23T21:30:37.700Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.700Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.700Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.700Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.700Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.700Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.700Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.700Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.700Z]
[2024-06-23T21:30:37.700Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.700Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.700Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.700Z] code = main()
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.700Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.700Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.700Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.700Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.700Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.700Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.700Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.700Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.700Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.700Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.700Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.700Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.700Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.700Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.700Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.700Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.700Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.700Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.700Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.700Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.700Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.700Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.700Z] item.runtest()
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.700Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.700Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.700Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.700Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.700Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.700Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 346, in test_filled_random_chunk
[2024-06-23T21:30:37.700Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.700Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.700Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.700Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.700Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.700Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.701Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.701Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.701Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.701Z] from matplotlib._path import (
[2024-06-23T21:30:37.701Z] Traceback (most recent call last):
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.701Z] raise ImportError(msg)
[2024-06-23T21:30:37.701Z] ImportError:
[2024-06-23T21:30:37.701Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.701Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.701Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.701Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.701Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.701Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] _________________ test_filled_random_chunk[mpl2014-OuterCode] __________________
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] name = 'mpl2014', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] @pytest.mark.image
[2024-06-23T21:30:37.701Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.701Z] def test_filled_random_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.701Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] tests/test_filled.py:346:
[2024-06-23T21:30:37.701Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.701Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.701Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.701Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.701Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.701Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.701Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.701Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.701Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.701Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.701Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.701Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.701Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.701Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] """
[2024-06-23T21:30:37.701Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.701Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.701Z] elements drawn on the canvas.
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.701Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.701Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.701Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.701Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.701Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.701Z] interactive performance.
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.701Z] to the graph:
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.701Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.701Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.701Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.701Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.701Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.701Z] themselves.
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.701Z] of how to use transforms.
[2024-06-23T21:30:37.701Z] """
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.701Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.701Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] import copy
[2024-06-23T21:30:37.701Z] import functools
[2024-06-23T21:30:37.701Z] import textwrap
[2024-06-23T21:30:37.701Z] import weakref
[2024-06-23T21:30:37.701Z] import math
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] import numpy as np
[2024-06-23T21:30:37.701Z] from numpy.linalg import inv
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] from matplotlib import _api
[2024-06-23T21:30:37.701Z] > from matplotlib._path import (
[2024-06-23T21:30:37.701Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.701Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.701Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.701Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.701Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.701Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.701Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.701Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.701Z]
[2024-06-23T21:30:37.701Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.701Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.701Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.701Z] code = main()
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.701Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.701Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.701Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.701Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.701Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.701Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.701Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.701Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.701Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.701Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.701Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.701Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.701Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.701Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.701Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.701Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.701Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.701Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.701Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.701Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.701Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.701Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.701Z] item.runtest()
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.701Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.701Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.701Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.701Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.701Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.701Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.701Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 346, in test_filled_random_chunk
[2024-06-23T21:30:37.701Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.701Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.701Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.702Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.702Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.702Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.702Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.702Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.702Z] from matplotlib._path import (
[2024-06-23T21:30:37.702Z] Traceback (most recent call last):
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.702Z] raise ImportError(msg)
[2024-06-23T21:30:37.702Z] ImportError:
[2024-06-23T21:30:37.702Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.702Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.702Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.702Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.702Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.702Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] __________________ test_filled_random_chunk[serial-OuterCode] __________________
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] name = 'serial', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] @pytest.mark.image
[2024-06-23T21:30:37.702Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.702Z] def test_filled_random_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.702Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] tests/test_filled.py:346:
[2024-06-23T21:30:37.702Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.702Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.702Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.702Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.702Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.702Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.702Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.702Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.702Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.702Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.702Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.702Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.702Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.702Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] """
[2024-06-23T21:30:37.702Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.702Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.702Z] elements drawn on the canvas.
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.702Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.702Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.702Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.702Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.702Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.702Z] interactive performance.
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.702Z] to the graph:
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.702Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.702Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.702Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.702Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.702Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.702Z] themselves.
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.702Z] of how to use transforms.
[2024-06-23T21:30:37.702Z] """
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.702Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.702Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] import copy
[2024-06-23T21:30:37.702Z] import functools
[2024-06-23T21:30:37.702Z] import textwrap
[2024-06-23T21:30:37.702Z] import weakref
[2024-06-23T21:30:37.702Z] import math
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] import numpy as np
[2024-06-23T21:30:37.702Z] from numpy.linalg import inv
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] from matplotlib import _api
[2024-06-23T21:30:37.702Z] > from matplotlib._path import (
[2024-06-23T21:30:37.702Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.702Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.702Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.702Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.702Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.702Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.702Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.702Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.702Z]
[2024-06-23T21:30:37.702Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.702Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.702Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.702Z] code = main()
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.702Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.702Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.702Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.702Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.702Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.702Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.702Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.702Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.702Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.702Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.702Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.702Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.702Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.702Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.702Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.702Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.702Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.702Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.702Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.702Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.702Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.702Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.702Z] item.runtest()
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.702Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.702Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.702Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.702Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.702Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.702Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 346, in test_filled_random_chunk
[2024-06-23T21:30:37.702Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.702Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.702Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.702Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.702Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.702Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.702Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.702Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.702Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.703Z] from matplotlib._path import (
[2024-06-23T21:30:37.703Z] Traceback (most recent call last):
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.703Z] raise ImportError(msg)
[2024-06-23T21:30:37.703Z] ImportError:
[2024-06-23T21:30:37.703Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.703Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.703Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.703Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.703Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.703Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] _________________ test_filled_random_chunk[serial-OuterOffset] _________________
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] name = 'serial', fill_type = <FillType.OuterOffset: 202>
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] @pytest.mark.image
[2024-06-23T21:30:37.703Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.703Z] def test_filled_random_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.703Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] tests/test_filled.py:346:
[2024-06-23T21:30:37.703Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.703Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.703Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.703Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.703Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.703Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.703Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.703Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.703Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.703Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.703Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.703Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.703Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.703Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] """
[2024-06-23T21:30:37.703Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.703Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.703Z] elements drawn on the canvas.
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.703Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.703Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.703Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.703Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.703Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.703Z] interactive performance.
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.703Z] to the graph:
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.703Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.703Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.703Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.703Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.703Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.703Z] themselves.
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.703Z] of how to use transforms.
[2024-06-23T21:30:37.703Z] """
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.703Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.703Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] import copy
[2024-06-23T21:30:37.703Z] import functools
[2024-06-23T21:30:37.703Z] import textwrap
[2024-06-23T21:30:37.703Z] import weakref
[2024-06-23T21:30:37.703Z] import math
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] import numpy as np
[2024-06-23T21:30:37.703Z] from numpy.linalg import inv
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] from matplotlib import _api
[2024-06-23T21:30:37.703Z] > from matplotlib._path import (
[2024-06-23T21:30:37.703Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.703Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.703Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.703Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.703Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.703Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.703Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.703Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.703Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.703Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.703Z] code = main()
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.703Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.703Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.703Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.703Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.703Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.703Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.703Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.703Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.703Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.703Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.703Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.703Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.703Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.703Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.703Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.703Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.703Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.703Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.703Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.703Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.703Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.703Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.703Z] item.runtest()
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.703Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.703Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.703Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.703Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.703Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.703Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 346, in test_filled_random_chunk
[2024-06-23T21:30:37.703Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.703Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.703Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.703Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.703Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.703Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.703Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.703Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.703Z] from matplotlib._path import (
[2024-06-23T21:30:37.703Z] Traceback (most recent call last):
[2024-06-23T21:30:37.703Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.703Z] raise ImportError(msg)
[2024-06-23T21:30:37.703Z] ImportError:
[2024-06-23T21:30:37.703Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.703Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.703Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.703Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.703Z]
[2024-06-23T21:30:37.703Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.703Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.704Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] ______________ test_filled_random_chunk[serial-ChunkCombinedCode] ______________
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] name = 'serial', fill_type = <FillType.ChunkCombinedCode: 203>
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] @pytest.mark.image
[2024-06-23T21:30:37.704Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.704Z] def test_filled_random_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.704Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] tests/test_filled.py:346:
[2024-06-23T21:30:37.704Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.704Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.704Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.704Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.704Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.704Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.704Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.704Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.704Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.704Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.704Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.704Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.704Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.704Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] """
[2024-06-23T21:30:37.704Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.704Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.704Z] elements drawn on the canvas.
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.704Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.704Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.704Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.704Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.704Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.704Z] interactive performance.
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.704Z] to the graph:
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.704Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.704Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.704Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.704Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.704Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.704Z] themselves.
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.704Z] of how to use transforms.
[2024-06-23T21:30:37.704Z] """
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.704Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.704Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] import copy
[2024-06-23T21:30:37.704Z] import functools
[2024-06-23T21:30:37.704Z] import textwrap
[2024-06-23T21:30:37.704Z] import weakref
[2024-06-23T21:30:37.704Z] import math
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] import numpy as np
[2024-06-23T21:30:37.704Z] from numpy.linalg import inv
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] from matplotlib import _api
[2024-06-23T21:30:37.704Z] > from matplotlib._path import (
[2024-06-23T21:30:37.704Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.704Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.704Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.704Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.704Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.704Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.704Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.704Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.704Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.704Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.704Z] code = main()
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.704Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.704Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.704Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.704Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.704Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.704Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.704Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.704Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.704Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.704Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.704Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.704Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.704Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.704Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.704Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.704Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.704Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.704Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.704Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.704Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.704Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.704Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.704Z] item.runtest()
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.704Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.704Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.704Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.704Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.704Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.704Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 346, in test_filled_random_chunk
[2024-06-23T21:30:37.704Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.704Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.704Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.704Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.704Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.704Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.704Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.704Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.704Z] from matplotlib._path import (
[2024-06-23T21:30:37.704Z] Traceback (most recent call last):
[2024-06-23T21:30:37.704Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.704Z] raise ImportError(msg)
[2024-06-23T21:30:37.704Z] ImportError:
[2024-06-23T21:30:37.704Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.704Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.704Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.704Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.704Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.704Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] _____________ test_filled_random_chunk[serial-ChunkCombinedOffset] _____________
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] name = 'serial', fill_type = <FillType.ChunkCombinedOffset: 204>
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.704Z] @pytest.mark.image
[2024-06-23T21:30:37.704Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.704Z] def test_filled_random_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.704Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.704Z]
[2024-06-23T21:30:37.705Z] tests/test_filled.py:346:
[2024-06-23T21:30:37.705Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.705Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.705Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.705Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.705Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.705Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.705Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.705Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.705Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.705Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.705Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.705Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.705Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.705Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] """
[2024-06-23T21:30:37.705Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.705Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.705Z] elements drawn on the canvas.
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.705Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.705Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.705Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.705Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.705Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.705Z] interactive performance.
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.705Z] to the graph:
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.705Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.705Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.705Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.705Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.705Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.705Z] themselves.
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.705Z] of how to use transforms.
[2024-06-23T21:30:37.705Z] """
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.705Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.705Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] import copy
[2024-06-23T21:30:37.705Z] import functools
[2024-06-23T21:30:37.705Z] import textwrap
[2024-06-23T21:30:37.705Z] import weakref
[2024-06-23T21:30:37.705Z] import math
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] import numpy as np
[2024-06-23T21:30:37.705Z] from numpy.linalg import inv
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] from matplotlib import _api
[2024-06-23T21:30:37.705Z] > from matplotlib._path import (
[2024-06-23T21:30:37.705Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.705Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.705Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.705Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.705Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.705Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.705Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.705Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.705Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.705Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.705Z] code = main()
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.705Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.705Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.705Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.705Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.705Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.705Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.705Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.705Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.705Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.705Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.705Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.705Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.705Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.705Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.705Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.705Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.705Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.705Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.705Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.705Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.705Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.705Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.705Z] item.runtest()
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.705Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.705Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.705Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.705Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.705Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.705Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 346, in test_filled_random_chunk
[2024-06-23T21:30:37.705Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.705Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.705Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.705Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.705Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.705Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.705Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.705Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.705Z] from matplotlib._path import (
[2024-06-23T21:30:37.705Z] Traceback (most recent call last):
[2024-06-23T21:30:37.705Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.705Z] raise ImportError(msg)
[2024-06-23T21:30:37.705Z] ImportError:
[2024-06-23T21:30:37.705Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.705Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.705Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.705Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.705Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.705Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] ___________ test_filled_random_chunk[serial-ChunkCombinedCodeOffset] ___________
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] name = 'serial', fill_type = <FillType.ChunkCombinedCodeOffset: 205>
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] @pytest.mark.image
[2024-06-23T21:30:37.705Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.705Z] def test_filled_random_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.705Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] tests/test_filled.py:346:
[2024-06-23T21:30:37.705Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.705Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.705Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.705Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.705Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.705Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.705Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.705Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.705Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.705Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.705Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.705Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.705Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.705Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] """
[2024-06-23T21:30:37.705Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.705Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.705Z] elements drawn on the canvas.
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.705Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.705Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.705Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.705Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.705Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.705Z] interactive performance.
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.705Z] to the graph:
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.705Z]
[2024-06-23T21:30:37.705Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.705Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.705Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.705Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.706Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.706Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.706Z] themselves.
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.706Z] of how to use transforms.
[2024-06-23T21:30:37.706Z] """
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.706Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.706Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] import copy
[2024-06-23T21:30:37.706Z] import functools
[2024-06-23T21:30:37.706Z] import textwrap
[2024-06-23T21:30:37.706Z] import weakref
[2024-06-23T21:30:37.706Z] import math
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] import numpy as np
[2024-06-23T21:30:37.706Z] from numpy.linalg import inv
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] from matplotlib import _api
[2024-06-23T21:30:37.706Z] > from matplotlib._path import (
[2024-06-23T21:30:37.706Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.706Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.706Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.706Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.706Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.706Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.706Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.706Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.706Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.706Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.706Z] code = main()
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.706Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.706Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.706Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.706Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.706Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.706Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.706Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.706Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.706Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.706Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.706Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.706Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.706Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.706Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.706Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.706Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.706Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.706Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.706Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.706Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.706Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.706Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.706Z] item.runtest()
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.706Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.706Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.706Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.706Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.706Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.706Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 346, in test_filled_random_chunk
[2024-06-23T21:30:37.706Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.706Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.706Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.706Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.706Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.706Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.706Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.706Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.706Z] from matplotlib._path import (
[2024-06-23T21:30:37.706Z] Traceback (most recent call last):
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.706Z] raise ImportError(msg)
[2024-06-23T21:30:37.706Z] ImportError:
[2024-06-23T21:30:37.706Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.706Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.706Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.706Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.706Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.706Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] __________ test_filled_random_chunk[serial-ChunkCombinedOffsetOffset] __________
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] name = 'serial', fill_type = <FillType.ChunkCombinedOffsetOffset: 206>
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] @pytest.mark.image
[2024-06-23T21:30:37.706Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.706Z] def test_filled_random_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.706Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] tests/test_filled.py:346:
[2024-06-23T21:30:37.706Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.706Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.706Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.706Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.706Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.706Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.706Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.706Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.706Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.706Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.706Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.706Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.706Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.706Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] """
[2024-06-23T21:30:37.706Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.706Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.706Z] elements drawn on the canvas.
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.706Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.706Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.706Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.706Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.706Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.706Z] interactive performance.
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.706Z] to the graph:
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.706Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.706Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.706Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.706Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.706Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.706Z] themselves.
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.706Z] of how to use transforms.
[2024-06-23T21:30:37.706Z] """
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.706Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.706Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] import copy
[2024-06-23T21:30:37.706Z] import functools
[2024-06-23T21:30:37.706Z] import textwrap
[2024-06-23T21:30:37.706Z] import weakref
[2024-06-23T21:30:37.706Z] import math
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] import numpy as np
[2024-06-23T21:30:37.706Z] from numpy.linalg import inv
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] from matplotlib import _api
[2024-06-23T21:30:37.706Z] > from matplotlib._path import (
[2024-06-23T21:30:37.706Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.706Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.706Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.706Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.706Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.706Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.706Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.706Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.706Z]
[2024-06-23T21:30:37.706Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.706Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.706Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.706Z] code = main()
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.706Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.706Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.706Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.706Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.706Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.706Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.706Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.706Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.706Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.706Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.706Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.706Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.706Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.706Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.706Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.706Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.706Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.706Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.706Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.706Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.706Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.706Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.706Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.707Z] item.runtest()
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.707Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.707Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.707Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.707Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.707Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.707Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 346, in test_filled_random_chunk
[2024-06-23T21:30:37.707Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.707Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.707Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.707Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.707Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.707Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.707Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.707Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.707Z] from matplotlib._path import (
[2024-06-23T21:30:37.707Z] Traceback (most recent call last):
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.707Z] raise ImportError(msg)
[2024-06-23T21:30:37.707Z] ImportError:
[2024-06-23T21:30:37.707Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.707Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.707Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.707Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.707Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.707Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] _________________ test_filled_random_chunk[threaded-OuterCode] _________________
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] name = 'threaded', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] @pytest.mark.image
[2024-06-23T21:30:37.707Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.707Z] def test_filled_random_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.707Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] tests/test_filled.py:346:
[2024-06-23T21:30:37.707Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.707Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.707Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.707Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.707Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.707Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.707Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.707Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.707Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.707Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.707Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.707Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.707Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.707Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] """
[2024-06-23T21:30:37.707Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.707Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.707Z] elements drawn on the canvas.
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.707Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.707Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.707Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.707Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.707Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.707Z] interactive performance.
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.707Z] to the graph:
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.707Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.707Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.707Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.707Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.707Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.707Z] themselves.
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.707Z] of how to use transforms.
[2024-06-23T21:30:37.707Z] """
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.707Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.707Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] import copy
[2024-06-23T21:30:37.707Z] import functools
[2024-06-23T21:30:37.707Z] import textwrap
[2024-06-23T21:30:37.707Z] import weakref
[2024-06-23T21:30:37.707Z] import math
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] import numpy as np
[2024-06-23T21:30:37.707Z] from numpy.linalg import inv
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] from matplotlib import _api
[2024-06-23T21:30:37.707Z] > from matplotlib._path import (
[2024-06-23T21:30:37.707Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.707Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.707Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.707Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.707Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.707Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.707Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.707Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.707Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.707Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.707Z] code = main()
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.707Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.707Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.707Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.707Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.707Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.707Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.707Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.707Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.707Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.707Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.707Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.707Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.707Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.707Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.707Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.707Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.707Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.707Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.707Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.707Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.707Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.707Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.707Z] item.runtest()
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.707Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.707Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.707Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.707Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.707Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.707Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 346, in test_filled_random_chunk
[2024-06-23T21:30:37.707Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.707Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.707Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.707Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.707Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.707Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.707Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.707Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.707Z] from matplotlib._path import (
[2024-06-23T21:30:37.707Z] Traceback (most recent call last):
[2024-06-23T21:30:37.707Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.707Z] raise ImportError(msg)
[2024-06-23T21:30:37.707Z] ImportError:
[2024-06-23T21:30:37.707Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.707Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.707Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.707Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.707Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.707Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] ________________ test_filled_random_chunk[threaded-OuterOffset] ________________
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] name = 'threaded', fill_type = <FillType.OuterOffset: 202>
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] @pytest.mark.image
[2024-06-23T21:30:37.707Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.707Z] def test_filled_random_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.707Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] tests/test_filled.py:346:
[2024-06-23T21:30:37.707Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.707Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.707Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.707Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.707Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.707Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.707Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.707Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.707Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.707Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.707Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.707Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.707Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.707Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] """
[2024-06-23T21:30:37.707Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.707Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.707Z] elements drawn on the canvas.
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.707Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.707Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.707Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.707Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.707Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.707Z] interactive performance.
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.707Z] to the graph:
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.707Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.707Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.707Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.707Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.707Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.707Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.707Z]
[2024-06-23T21:30:37.708Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.708Z] themselves.
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.708Z] of how to use transforms.
[2024-06-23T21:30:37.708Z] """
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.708Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.708Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] import copy
[2024-06-23T21:30:37.708Z] import functools
[2024-06-23T21:30:37.708Z] import textwrap
[2024-06-23T21:30:37.708Z] import weakref
[2024-06-23T21:30:37.708Z] import math
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] import numpy as np
[2024-06-23T21:30:37.708Z] from numpy.linalg import inv
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] from matplotlib import _api
[2024-06-23T21:30:37.708Z] > from matplotlib._path import (
[2024-06-23T21:30:37.708Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.708Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.708Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.708Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.708Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.708Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.708Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.708Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.708Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.708Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.708Z] code = main()
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.708Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.708Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.708Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.708Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.708Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.708Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.708Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.708Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.708Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.708Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.708Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.708Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.708Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.708Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.708Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.708Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.708Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.708Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.708Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.708Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.708Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.708Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.708Z] item.runtest()
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.708Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.708Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.708Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.708Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.708Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.708Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 346, in test_filled_random_chunk
[2024-06-23T21:30:37.708Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.708Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.708Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.708Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.708Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.708Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.708Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.708Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.708Z] from matplotlib._path import (
[2024-06-23T21:30:37.708Z] Traceback (most recent call last):
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.708Z] raise ImportError(msg)
[2024-06-23T21:30:37.708Z] ImportError:
[2024-06-23T21:30:37.708Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.708Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.708Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.708Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.708Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.708Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] _____________ test_filled_random_chunk[threaded-ChunkCombinedCode] _____________
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] name = 'threaded', fill_type = <FillType.ChunkCombinedCode: 203>
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] @pytest.mark.image
[2024-06-23T21:30:37.708Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.708Z] def test_filled_random_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.708Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] tests/test_filled.py:346:
[2024-06-23T21:30:37.708Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.708Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.708Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.708Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.708Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.708Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.708Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.708Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.708Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.708Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.708Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.708Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.708Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.708Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] """
[2024-06-23T21:30:37.708Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.708Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.708Z] elements drawn on the canvas.
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.708Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.708Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.708Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.708Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.708Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.708Z] interactive performance.
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.708Z] to the graph:
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.708Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.708Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.708Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.708Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.708Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.708Z] themselves.
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.708Z] of how to use transforms.
[2024-06-23T21:30:37.708Z] """
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.708Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.708Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] import copy
[2024-06-23T21:30:37.708Z] import functools
[2024-06-23T21:30:37.708Z] import textwrap
[2024-06-23T21:30:37.708Z] import weakref
[2024-06-23T21:30:37.708Z] import math
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] import numpy as np
[2024-06-23T21:30:37.708Z] from numpy.linalg import inv
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] from matplotlib import _api
[2024-06-23T21:30:37.708Z] > from matplotlib._path import (
[2024-06-23T21:30:37.708Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.708Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.708Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.708Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.708Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.708Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.708Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.708Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.708Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.708Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.708Z] code = main()
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.708Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.708Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.708Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.708Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.708Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.708Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.708Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.708Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.708Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.708Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.708Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.708Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.708Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.708Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.708Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.708Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.708Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.708Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.708Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.708Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.708Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.708Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.708Z] item.runtest()
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.708Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.708Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.708Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.708Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.708Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.708Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 346, in test_filled_random_chunk
[2024-06-23T21:30:37.708Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.708Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.708Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.708Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.708Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.708Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.708Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.708Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.708Z] from matplotlib._path import (
[2024-06-23T21:30:37.708Z] Traceback (most recent call last):
[2024-06-23T21:30:37.708Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.708Z] raise ImportError(msg)
[2024-06-23T21:30:37.708Z] ImportError:
[2024-06-23T21:30:37.708Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.708Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.708Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.708Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.708Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.708Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] ____________ test_filled_random_chunk[threaded-ChunkCombinedOffset] ____________
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] name = 'threaded', fill_type = <FillType.ChunkCombinedOffset: 204>
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] @pytest.mark.image
[2024-06-23T21:30:37.708Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.708Z] def test_filled_random_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.708Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.708Z]
[2024-06-23T21:30:37.708Z] tests/test_filled.py:346:
[2024-06-23T21:30:37.708Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.708Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.708Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.708Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.708Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.708Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.709Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.709Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.709Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.709Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.709Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.709Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.709Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.709Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] """
[2024-06-23T21:30:37.709Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.709Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.709Z] elements drawn on the canvas.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.709Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.709Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.709Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.709Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.709Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.709Z] interactive performance.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.709Z] to the graph:
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.709Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.709Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.709Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.709Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.709Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.709Z] themselves.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.709Z] of how to use transforms.
[2024-06-23T21:30:37.709Z] """
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.709Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.709Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] import copy
[2024-06-23T21:30:37.709Z] import functools
[2024-06-23T21:30:37.709Z] import textwrap
[2024-06-23T21:30:37.709Z] import weakref
[2024-06-23T21:30:37.709Z] import math
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] import numpy as np
[2024-06-23T21:30:37.709Z] from numpy.linalg import inv
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] from matplotlib import _api
[2024-06-23T21:30:37.709Z] > from matplotlib._path import (
[2024-06-23T21:30:37.709Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.709Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.709Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.709Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.709Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.709Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.709Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.709Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.709Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.709Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.709Z] code = main()
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.709Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.709Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.709Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.709Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.709Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.709Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.709Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.709Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.709Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.709Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.709Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.709Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.709Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.709Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.709Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.709Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.709Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.709Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.709Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.709Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.709Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.709Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.709Z] item.runtest()
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.709Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.709Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.709Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.709Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.709Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.709Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 346, in test_filled_random_chunk
[2024-06-23T21:30:37.709Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.709Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.709Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.709Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.709Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.709Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.709Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.709Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.709Z] from matplotlib._path import (
[2024-06-23T21:30:37.709Z] Traceback (most recent call last):
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.709Z] raise ImportError(msg)
[2024-06-23T21:30:37.709Z] ImportError:
[2024-06-23T21:30:37.709Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.709Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.709Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.709Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.709Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.709Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] __________ test_filled_random_chunk[threaded-ChunkCombinedCodeOffset] __________
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] name = 'threaded', fill_type = <FillType.ChunkCombinedCodeOffset: 205>
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] @pytest.mark.image
[2024-06-23T21:30:37.709Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.709Z] def test_filled_random_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.709Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] tests/test_filled.py:346:
[2024-06-23T21:30:37.709Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.709Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.709Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.709Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.709Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.709Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.709Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.709Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.709Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.709Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.709Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.709Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.709Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.709Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] """
[2024-06-23T21:30:37.709Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.709Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.709Z] elements drawn on the canvas.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.709Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.709Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.709Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.709Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.709Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.709Z] interactive performance.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.709Z] to the graph:
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.709Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.709Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.709Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.709Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.709Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.709Z] themselves.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.709Z] of how to use transforms.
[2024-06-23T21:30:37.709Z] """
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.709Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.709Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] import copy
[2024-06-23T21:30:37.709Z] import functools
[2024-06-23T21:30:37.709Z] import textwrap
[2024-06-23T21:30:37.709Z] import weakref
[2024-06-23T21:30:37.709Z] import math
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] import numpy as np
[2024-06-23T21:30:37.709Z] from numpy.linalg import inv
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] from matplotlib import _api
[2024-06-23T21:30:37.709Z] > from matplotlib._path import (
[2024-06-23T21:30:37.709Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.709Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.709Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.709Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.709Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.709Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.709Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.709Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.709Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.709Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.709Z] code = main()
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.709Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.709Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.709Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.709Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.709Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.709Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.709Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.709Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.709Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.709Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.709Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.709Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.709Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.709Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.709Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.709Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.709Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.709Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.709Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.709Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.709Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.709Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.709Z] item.runtest()
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.709Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.709Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.709Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.709Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.709Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.709Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 346, in test_filled_random_chunk
[2024-06-23T21:30:37.709Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.709Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.709Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.709Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.709Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.709Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.709Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.709Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.709Z] from matplotlib._path import (
[2024-06-23T21:30:37.709Z] Traceback (most recent call last):
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.709Z] raise ImportError(msg)
[2024-06-23T21:30:37.709Z] ImportError:
[2024-06-23T21:30:37.709Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.709Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.709Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.709Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.709Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.709Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] _________ test_filled_random_chunk[threaded-ChunkCombinedOffsetOffset] _________
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] name = 'threaded', fill_type = <FillType.ChunkCombinedOffsetOffset: 206>
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] @pytest.mark.image
[2024-06-23T21:30:37.709Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.709Z] def test_filled_random_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.709Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] tests/test_filled.py:346:
[2024-06-23T21:30:37.709Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.709Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.709Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.709Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.709Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.709Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.709Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.709Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.709Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.709Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.709Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.709Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.709Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.709Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] """
[2024-06-23T21:30:37.709Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.709Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.709Z] elements drawn on the canvas.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.709Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.709Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.709Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.709Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.709Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.709Z] interactive performance.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.709Z] to the graph:
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.709Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.709Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.709Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.709Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.709Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.709Z] themselves.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.709Z] of how to use transforms.
[2024-06-23T21:30:37.709Z] """
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.709Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.709Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] import copy
[2024-06-23T21:30:37.709Z] import functools
[2024-06-23T21:30:37.709Z] import textwrap
[2024-06-23T21:30:37.709Z] import weakref
[2024-06-23T21:30:37.709Z] import math
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] import numpy as np
[2024-06-23T21:30:37.709Z] from numpy.linalg import inv
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] from matplotlib import _api
[2024-06-23T21:30:37.709Z] > from matplotlib._path import (
[2024-06-23T21:30:37.709Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.709Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.709Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.709Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.709Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.709Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.709Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.709Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.709Z]
[2024-06-23T21:30:37.709Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.709Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.709Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.709Z] code = main()
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.709Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.709Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.710Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.710Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.710Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.710Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.710Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.710Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.710Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.710Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.710Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.710Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.710Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.710Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.710Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.710Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.710Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.710Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.710Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.710Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.710Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.710Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.710Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.710Z] item.runtest()
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.710Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.710Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.710Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.710Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.710Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.710Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 346, in test_filled_random_chunk
[2024-06-23T21:30:37.710Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.710Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.710Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.710Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.710Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.710Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.710Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.710Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.710Z] from matplotlib._path import (
[2024-06-23T21:30:37.710Z] Traceback (most recent call last):
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.710Z] raise ImportError(msg)
[2024-06-23T21:30:37.710Z] ImportError:
[2024-06-23T21:30:37.710Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.710Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.710Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.710Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.710Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.710Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] ________________ test_filled_random_chunk_threads[2-OuterCode] _________________
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] fill_type = <FillType.OuterCode: 201>, thread_count = 2
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] @pytest.mark.image
[2024-06-23T21:30:37.710Z] @pytest.mark.threads
[2024-06-23T21:30:37.710Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.710Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.710Z] def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.710Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] tests/test_filled.py:389:
[2024-06-23T21:30:37.710Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.710Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.710Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.710Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.710Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.710Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.710Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.710Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.710Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.710Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.710Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.710Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.710Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.710Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] """
[2024-06-23T21:30:37.710Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.710Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.710Z] elements drawn on the canvas.
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.710Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.710Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.710Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.710Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.710Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.710Z] interactive performance.
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.710Z] to the graph:
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.710Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.710Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.710Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.710Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.710Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.710Z] themselves.
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.710Z] of how to use transforms.
[2024-06-23T21:30:37.710Z] """
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.710Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.710Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] import copy
[2024-06-23T21:30:37.710Z] import functools
[2024-06-23T21:30:37.710Z] import textwrap
[2024-06-23T21:30:37.710Z] import weakref
[2024-06-23T21:30:37.710Z] import math
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] import numpy as np
[2024-06-23T21:30:37.710Z] from numpy.linalg import inv
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] from matplotlib import _api
[2024-06-23T21:30:37.710Z] > from matplotlib._path import (
[2024-06-23T21:30:37.710Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.710Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.710Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.710Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.710Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.710Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.710Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.710Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.710Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.710Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.710Z] code = main()
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.710Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.710Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.710Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.710Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.710Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.710Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.710Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.710Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.710Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.710Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.710Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.710Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.710Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.710Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.710Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.710Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.710Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.710Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.710Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.710Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.710Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.710Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.710Z] item.runtest()
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.710Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.710Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.710Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.710Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.710Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.710Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 389, in test_filled_random_chunk_threads
[2024-06-23T21:30:37.710Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.710Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.710Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.710Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.710Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.710Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.710Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.710Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.710Z] from matplotlib._path import (
[2024-06-23T21:30:37.710Z] Traceback (most recent call last):
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.710Z] raise ImportError(msg)
[2024-06-23T21:30:37.710Z] ImportError:
[2024-06-23T21:30:37.710Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.710Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.710Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.710Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.710Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.710Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] _______________ test_filled_random_chunk_threads[2-OuterOffset] ________________
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] fill_type = <FillType.OuterOffset: 202>, thread_count = 2
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] @pytest.mark.image
[2024-06-23T21:30:37.710Z] @pytest.mark.threads
[2024-06-23T21:30:37.710Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.710Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.710Z] def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.710Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] tests/test_filled.py:389:
[2024-06-23T21:30:37.710Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.710Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.710Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.710Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.710Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.710Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.710Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.710Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.710Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.710Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.710Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.710Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.710Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.710Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] """
[2024-06-23T21:30:37.710Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.710Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.710Z] elements drawn on the canvas.
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.710Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.710Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.710Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.710Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.710Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.710Z] interactive performance.
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.710Z] to the graph:
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.710Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.710Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.710Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.710Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.710Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.710Z] themselves.
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.710Z] of how to use transforms.
[2024-06-23T21:30:37.710Z] """
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.710Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.710Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] import copy
[2024-06-23T21:30:37.710Z] import functools
[2024-06-23T21:30:37.710Z] import textwrap
[2024-06-23T21:30:37.710Z] import weakref
[2024-06-23T21:30:37.710Z] import math
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] import numpy as np
[2024-06-23T21:30:37.710Z] from numpy.linalg import inv
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] from matplotlib import _api
[2024-06-23T21:30:37.710Z] > from matplotlib._path import (
[2024-06-23T21:30:37.710Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.710Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.710Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.710Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.710Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.710Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.710Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.710Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.710Z]
[2024-06-23T21:30:37.710Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.710Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.710Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.710Z] code = main()
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.710Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.710Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.710Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.710Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.710Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.710Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.710Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.710Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.710Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.710Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.710Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.710Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.710Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.710Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.710Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.710Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.710Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.710Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.710Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.710Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.710Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.710Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.710Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.710Z] item.runtest()
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.711Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.711Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.711Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.711Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.711Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.711Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 389, in test_filled_random_chunk_threads
[2024-06-23T21:30:37.711Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.711Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.711Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.711Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.711Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.711Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.711Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.711Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.711Z] from matplotlib._path import (
[2024-06-23T21:30:37.711Z] Traceback (most recent call last):
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.711Z] raise ImportError(msg)
[2024-06-23T21:30:37.711Z] ImportError:
[2024-06-23T21:30:37.711Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.711Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.711Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.711Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.711Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.711Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] ____________ test_filled_random_chunk_threads[2-ChunkCombinedCode] _____________
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] fill_type = <FillType.ChunkCombinedCode: 203>, thread_count = 2
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] @pytest.mark.image
[2024-06-23T21:30:37.711Z] @pytest.mark.threads
[2024-06-23T21:30:37.711Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.711Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.711Z] def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.711Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] tests/test_filled.py:389:
[2024-06-23T21:30:37.711Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.711Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.711Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.711Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.711Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.711Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.711Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.711Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.711Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.711Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.711Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.711Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.711Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.711Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] """
[2024-06-23T21:30:37.711Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.711Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.711Z] elements drawn on the canvas.
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.711Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.711Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.711Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.711Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.711Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.711Z] interactive performance.
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.711Z] to the graph:
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.711Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.711Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.711Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.711Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.711Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.711Z] themselves.
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.711Z] of how to use transforms.
[2024-06-23T21:30:37.711Z] """
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.711Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.711Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] import copy
[2024-06-23T21:30:37.711Z] import functools
[2024-06-23T21:30:37.711Z] import textwrap
[2024-06-23T21:30:37.711Z] import weakref
[2024-06-23T21:30:37.711Z] import math
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] import numpy as np
[2024-06-23T21:30:37.711Z] from numpy.linalg import inv
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] from matplotlib import _api
[2024-06-23T21:30:37.711Z] > from matplotlib._path import (
[2024-06-23T21:30:37.711Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.711Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.711Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.711Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.711Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.711Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.711Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.711Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.711Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.711Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.711Z] code = main()
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.711Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.711Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.711Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.711Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.711Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.711Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.711Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.711Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.711Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.711Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.711Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.711Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.711Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.711Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.711Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.711Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.711Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.711Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.711Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.711Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.711Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.711Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.711Z] item.runtest()
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.711Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.711Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.711Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.711Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.711Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.711Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 389, in test_filled_random_chunk_threads
[2024-06-23T21:30:37.711Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.711Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.711Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.711Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.711Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.711Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.711Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.711Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.711Z] from matplotlib._path import (
[2024-06-23T21:30:37.711Z] Traceback (most recent call last):
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.711Z] raise ImportError(msg)
[2024-06-23T21:30:37.711Z] ImportError:
[2024-06-23T21:30:37.711Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.711Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.711Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.711Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.711Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.711Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] ___________ test_filled_random_chunk_threads[2-ChunkCombinedOffset] ____________
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] fill_type = <FillType.ChunkCombinedOffset: 204>, thread_count = 2
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] @pytest.mark.image
[2024-06-23T21:30:37.711Z] @pytest.mark.threads
[2024-06-23T21:30:37.711Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.711Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.711Z] def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.711Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] tests/test_filled.py:389:
[2024-06-23T21:30:37.711Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.711Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.711Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.711Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.711Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.711Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.711Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.711Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.711Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.711Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.711Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.711Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.711Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.711Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] """
[2024-06-23T21:30:37.711Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.711Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.711Z] elements drawn on the canvas.
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.711Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.711Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.711Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.711Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.711Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.711Z] interactive performance.
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.711Z] to the graph:
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.711Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.711Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.711Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.711Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.711Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.711Z] themselves.
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.711Z] of how to use transforms.
[2024-06-23T21:30:37.711Z] """
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.711Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.711Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] import copy
[2024-06-23T21:30:37.711Z] import functools
[2024-06-23T21:30:37.711Z] import textwrap
[2024-06-23T21:30:37.711Z] import weakref
[2024-06-23T21:30:37.711Z] import math
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] import numpy as np
[2024-06-23T21:30:37.711Z] from numpy.linalg import inv
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] from matplotlib import _api
[2024-06-23T21:30:37.711Z] > from matplotlib._path import (
[2024-06-23T21:30:37.711Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.711Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.711Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.711Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.711Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.711Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.711Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.711Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.711Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.711Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.711Z] code = main()
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.711Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.711Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.711Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.711Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.711Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.711Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.711Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.711Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.711Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.711Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.711Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.711Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.711Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.711Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.711Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.711Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.711Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.711Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.711Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.711Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.711Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.711Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.711Z] item.runtest()
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.711Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.711Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.711Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.711Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.711Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.711Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 389, in test_filled_random_chunk_threads
[2024-06-23T21:30:37.711Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.711Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.711Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.711Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.711Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.711Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.711Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.711Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.711Z] from matplotlib._path import (
[2024-06-23T21:30:37.711Z] Traceback (most recent call last):
[2024-06-23T21:30:37.711Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.711Z] raise ImportError(msg)
[2024-06-23T21:30:37.711Z] ImportError:
[2024-06-23T21:30:37.711Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.711Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.711Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.711Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.711Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.711Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] _________ test_filled_random_chunk_threads[2-ChunkCombinedCodeOffset] __________
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] fill_type = <FillType.ChunkCombinedCodeOffset: 205>, thread_count = 2
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] @pytest.mark.image
[2024-06-23T21:30:37.711Z] @pytest.mark.threads
[2024-06-23T21:30:37.711Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.711Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.711Z] def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.711Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] tests/test_filled.py:389:
[2024-06-23T21:30:37.711Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.711Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.711Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.711Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.711Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.711Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.711Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.711Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.711Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.711Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.711Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.711Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.711Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.711Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.711Z]
[2024-06-23T21:30:37.711Z] """
[2024-06-23T21:30:37.712Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.712Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.712Z] elements drawn on the canvas.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.712Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.712Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.712Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.712Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.712Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.712Z] interactive performance.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.712Z] to the graph:
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.712Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.712Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.712Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.712Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.712Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.712Z] themselves.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.712Z] of how to use transforms.
[2024-06-23T21:30:37.712Z] """
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.712Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.712Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] import copy
[2024-06-23T21:30:37.712Z] import functools
[2024-06-23T21:30:37.712Z] import textwrap
[2024-06-23T21:30:37.712Z] import weakref
[2024-06-23T21:30:37.712Z] import math
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] import numpy as np
[2024-06-23T21:30:37.712Z] from numpy.linalg import inv
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] from matplotlib import _api
[2024-06-23T21:30:37.712Z] > from matplotlib._path import (
[2024-06-23T21:30:37.712Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.712Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.712Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.712Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.712Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.712Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.712Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.712Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.712Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.712Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.712Z] code = main()
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.712Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.712Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.712Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.712Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.712Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.712Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.712Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.712Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.712Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.712Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.712Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.712Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.712Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.712Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.712Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.712Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.712Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.712Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.712Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.712Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.712Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.712Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.712Z] item.runtest()
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.712Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.712Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.712Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.712Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.712Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.712Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 389, in test_filled_random_chunk_threads
[2024-06-23T21:30:37.712Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.712Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.712Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.712Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.712Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.712Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.712Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.712Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.712Z] from matplotlib._path import (
[2024-06-23T21:30:37.712Z] Traceback (most recent call last):
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.712Z] raise ImportError(msg)
[2024-06-23T21:30:37.712Z] ImportError:
[2024-06-23T21:30:37.712Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.712Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.712Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.712Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.712Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.712Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] ________ test_filled_random_chunk_threads[2-ChunkCombinedOffsetOffset] _________
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] fill_type = <FillType.ChunkCombinedOffsetOffset: 206>, thread_count = 2
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] @pytest.mark.image
[2024-06-23T21:30:37.712Z] @pytest.mark.threads
[2024-06-23T21:30:37.712Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.712Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.712Z] def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.712Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] tests/test_filled.py:389:
[2024-06-23T21:30:37.712Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.712Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.712Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.712Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.712Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.712Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.712Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.712Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.712Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.712Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.712Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.712Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.712Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.712Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] """
[2024-06-23T21:30:37.712Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.712Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.712Z] elements drawn on the canvas.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.712Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.712Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.712Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.712Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.712Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.712Z] interactive performance.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.712Z] to the graph:
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.712Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.712Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.712Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.712Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.712Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.712Z] themselves.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.712Z] of how to use transforms.
[2024-06-23T21:30:37.712Z] """
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.712Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.712Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] import copy
[2024-06-23T21:30:37.712Z] import functools
[2024-06-23T21:30:37.712Z] import textwrap
[2024-06-23T21:30:37.712Z] import weakref
[2024-06-23T21:30:37.712Z] import math
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] import numpy as np
[2024-06-23T21:30:37.712Z] from numpy.linalg import inv
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] from matplotlib import _api
[2024-06-23T21:30:37.712Z] > from matplotlib._path import (
[2024-06-23T21:30:37.712Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.712Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.712Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.712Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.712Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.712Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.712Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.712Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.712Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.712Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.712Z] code = main()
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.712Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.712Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.712Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.712Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.712Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.712Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.712Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.712Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.712Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.712Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.712Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.712Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.712Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.712Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.712Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.712Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.712Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.712Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.712Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.712Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.712Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.712Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.712Z] item.runtest()
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.712Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.712Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.712Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.712Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.712Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.712Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 389, in test_filled_random_chunk_threads
[2024-06-23T21:30:37.712Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.712Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.712Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.712Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.712Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.712Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.712Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.712Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.712Z] from matplotlib._path import (
[2024-06-23T21:30:37.712Z] Traceback (most recent call last):
[2024-06-23T21:30:37.712Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.712Z] raise ImportError(msg)
[2024-06-23T21:30:37.712Z] ImportError:
[2024-06-23T21:30:37.712Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.712Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.712Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.712Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.712Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.712Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] ________________ test_filled_random_chunk_threads[3-OuterCode] _________________
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] fill_type = <FillType.OuterCode: 201>, thread_count = 3
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] @pytest.mark.image
[2024-06-23T21:30:37.712Z] @pytest.mark.threads
[2024-06-23T21:30:37.712Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.712Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.712Z] def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.712Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] tests/test_filled.py:389:
[2024-06-23T21:30:37.712Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.712Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.712Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.712Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.712Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.712Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.712Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.712Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.712Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.712Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.712Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.712Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.712Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.712Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] """
[2024-06-23T21:30:37.712Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.712Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.712Z] elements drawn on the canvas.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.712Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.712Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.712Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.712Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.712Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.712Z] interactive performance.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.712Z] to the graph:
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.712Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.712Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.712Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.712Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.712Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.712Z] themselves.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.712Z] of how to use transforms.
[2024-06-23T21:30:37.712Z] """
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.712Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.712Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] import copy
[2024-06-23T21:30:37.712Z] import functools
[2024-06-23T21:30:37.712Z] import textwrap
[2024-06-23T21:30:37.712Z] import weakref
[2024-06-23T21:30:37.712Z] import math
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] import numpy as np
[2024-06-23T21:30:37.712Z] from numpy.linalg import inv
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] from matplotlib import _api
[2024-06-23T21:30:37.712Z] > from matplotlib._path import (
[2024-06-23T21:30:37.712Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.712Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.712Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.712Z]
[2024-06-23T21:30:37.712Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.712Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.713Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.713Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.713Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.713Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.713Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.713Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.713Z] code = main()
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.713Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.713Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.713Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.713Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.713Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.713Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.713Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.713Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.713Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.713Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.713Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.713Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.713Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.713Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.713Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.713Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.713Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.713Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.713Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.713Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.713Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.713Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.713Z] item.runtest()
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.713Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.713Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.713Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.713Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.713Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.713Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 389, in test_filled_random_chunk_threads
[2024-06-23T21:30:37.713Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.713Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.713Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.713Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.713Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.713Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.713Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.713Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.713Z] from matplotlib._path import (
[2024-06-23T21:30:37.713Z] Traceback (most recent call last):
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.713Z] raise ImportError(msg)
[2024-06-23T21:30:37.713Z] ImportError:
[2024-06-23T21:30:37.713Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.713Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.713Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.713Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.713Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.713Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] _______________ test_filled_random_chunk_threads[3-OuterOffset] ________________
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] fill_type = <FillType.OuterOffset: 202>, thread_count = 3
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] @pytest.mark.image
[2024-06-23T21:30:37.713Z] @pytest.mark.threads
[2024-06-23T21:30:37.713Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.713Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.713Z] def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.713Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] tests/test_filled.py:389:
[2024-06-23T21:30:37.713Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.713Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.713Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.713Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.713Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.713Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.713Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.713Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.713Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.713Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.713Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.713Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.713Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.713Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] """
[2024-06-23T21:30:37.713Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.713Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.713Z] elements drawn on the canvas.
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.713Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.713Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.713Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.713Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.713Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.713Z] interactive performance.
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.713Z] to the graph:
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.713Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.713Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.713Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.713Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.713Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.713Z] themselves.
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.713Z] of how to use transforms.
[2024-06-23T21:30:37.713Z] """
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.713Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.713Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] import copy
[2024-06-23T21:30:37.713Z] import functools
[2024-06-23T21:30:37.713Z] import textwrap
[2024-06-23T21:30:37.713Z] import weakref
[2024-06-23T21:30:37.713Z] import math
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] import numpy as np
[2024-06-23T21:30:37.713Z] from numpy.linalg import inv
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] from matplotlib import _api
[2024-06-23T21:30:37.713Z] > from matplotlib._path import (
[2024-06-23T21:30:37.713Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.713Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.713Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.713Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.713Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.713Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.713Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.713Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.713Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.713Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.713Z] code = main()
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.713Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.713Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.713Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.713Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.713Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.713Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.713Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.713Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.713Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.713Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.713Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.713Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.713Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.713Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.713Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.713Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.713Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.713Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.713Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.713Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.713Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.713Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.713Z] item.runtest()
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.713Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.713Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.713Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.713Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.713Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.713Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 389, in test_filled_random_chunk_threads
[2024-06-23T21:30:37.713Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.713Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.713Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.713Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.713Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.713Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.713Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.713Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.713Z] from matplotlib._path import (
[2024-06-23T21:30:37.713Z] Traceback (most recent call last):
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.713Z] raise ImportError(msg)
[2024-06-23T21:30:37.713Z] ImportError:
[2024-06-23T21:30:37.713Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.713Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.713Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.713Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.713Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.713Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] ____________ test_filled_random_chunk_threads[3-ChunkCombinedCode] _____________
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] fill_type = <FillType.ChunkCombinedCode: 203>, thread_count = 3
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] @pytest.mark.image
[2024-06-23T21:30:37.713Z] @pytest.mark.threads
[2024-06-23T21:30:37.713Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.713Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.713Z] def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.713Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] tests/test_filled.py:389:
[2024-06-23T21:30:37.713Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.713Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.713Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.713Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.713Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.713Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.713Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.713Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.713Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.713Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.713Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.713Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.713Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.713Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] """
[2024-06-23T21:30:37.713Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.713Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.713Z] elements drawn on the canvas.
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.713Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.713Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.713Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.713Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.713Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.713Z] interactive performance.
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.713Z] to the graph:
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.713Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.713Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.713Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.713Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.713Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.713Z] themselves.
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.713Z] of how to use transforms.
[2024-06-23T21:30:37.713Z] """
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.713Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.713Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] import copy
[2024-06-23T21:30:37.713Z] import functools
[2024-06-23T21:30:37.713Z] import textwrap
[2024-06-23T21:30:37.713Z] import weakref
[2024-06-23T21:30:37.713Z] import math
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] import numpy as np
[2024-06-23T21:30:37.713Z] from numpy.linalg import inv
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] from matplotlib import _api
[2024-06-23T21:30:37.713Z] > from matplotlib._path import (
[2024-06-23T21:30:37.713Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.713Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.713Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.713Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.713Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.713Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.713Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.713Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.713Z]
[2024-06-23T21:30:37.713Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.713Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.713Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.713Z] code = main()
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.713Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.713Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.713Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.713Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.713Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.713Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.713Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.713Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.713Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.713Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.713Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.713Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.713Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.713Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.713Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.713Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.713Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.713Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.713Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.713Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.714Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.714Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.714Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.714Z] item.runtest()
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.714Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.714Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.714Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.714Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.714Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.714Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 389, in test_filled_random_chunk_threads
[2024-06-23T21:30:37.714Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.714Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.714Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.714Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.714Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.714Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.714Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.714Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.714Z] from matplotlib._path import (
[2024-06-23T21:30:37.714Z] Traceback (most recent call last):
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.714Z] raise ImportError(msg)
[2024-06-23T21:30:37.714Z] ImportError:
[2024-06-23T21:30:37.714Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.714Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.714Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.714Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.714Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.714Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] ___________ test_filled_random_chunk_threads[3-ChunkCombinedOffset] ____________
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] fill_type = <FillType.ChunkCombinedOffset: 204>, thread_count = 3
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] @pytest.mark.image
[2024-06-23T21:30:37.714Z] @pytest.mark.threads
[2024-06-23T21:30:37.714Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.714Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.714Z] def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.714Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] tests/test_filled.py:389:
[2024-06-23T21:30:37.714Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.714Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.714Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.714Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.714Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.714Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.714Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.714Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.714Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.714Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.714Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.714Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.714Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.714Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] """
[2024-06-23T21:30:37.714Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.714Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.714Z] elements drawn on the canvas.
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.714Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.714Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.714Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.714Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.714Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.714Z] interactive performance.
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.714Z] to the graph:
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.714Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.714Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.714Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.714Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.714Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.714Z] themselves.
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.714Z] of how to use transforms.
[2024-06-23T21:30:37.714Z] """
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.714Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.714Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] import copy
[2024-06-23T21:30:37.714Z] import functools
[2024-06-23T21:30:37.714Z] import textwrap
[2024-06-23T21:30:37.714Z] import weakref
[2024-06-23T21:30:37.714Z] import math
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] import numpy as np
[2024-06-23T21:30:37.714Z] from numpy.linalg import inv
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] from matplotlib import _api
[2024-06-23T21:30:37.714Z] > from matplotlib._path import (
[2024-06-23T21:30:37.714Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.714Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.714Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.714Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.714Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.714Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.714Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.714Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.714Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.714Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.714Z] code = main()
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.714Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.714Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.714Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.714Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.714Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.714Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.714Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.714Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.714Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.714Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.714Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.714Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.714Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.714Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.714Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.714Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.714Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.714Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.714Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.714Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.714Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.714Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.714Z] item.runtest()
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.714Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.714Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.714Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.714Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.714Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.714Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 389, in test_filled_random_chunk_threads
[2024-06-23T21:30:37.714Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.714Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.714Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.714Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.714Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.714Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.714Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.714Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.714Z] from matplotlib._path import (
[2024-06-23T21:30:37.714Z] Traceback (most recent call last):
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.714Z] raise ImportError(msg)
[2024-06-23T21:30:37.714Z] ImportError:
[2024-06-23T21:30:37.714Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.714Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.714Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.714Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.714Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.714Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] _________ test_filled_random_chunk_threads[3-ChunkCombinedCodeOffset] __________
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] fill_type = <FillType.ChunkCombinedCodeOffset: 205>, thread_count = 3
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] @pytest.mark.image
[2024-06-23T21:30:37.714Z] @pytest.mark.threads
[2024-06-23T21:30:37.714Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.714Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.714Z] def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.714Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] tests/test_filled.py:389:
[2024-06-23T21:30:37.714Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.714Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.714Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.714Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.714Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.714Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.714Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.714Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.714Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.714Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.714Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.714Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.714Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.714Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] """
[2024-06-23T21:30:37.714Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.714Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.714Z] elements drawn on the canvas.
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.714Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.714Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.714Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.714Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.714Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.714Z] interactive performance.
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.714Z] to the graph:
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.714Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.714Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.714Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.714Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.714Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.714Z] themselves.
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.714Z] of how to use transforms.
[2024-06-23T21:30:37.714Z] """
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.714Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.714Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] import copy
[2024-06-23T21:30:37.714Z] import functools
[2024-06-23T21:30:37.714Z] import textwrap
[2024-06-23T21:30:37.714Z] import weakref
[2024-06-23T21:30:37.714Z] import math
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] import numpy as np
[2024-06-23T21:30:37.714Z] from numpy.linalg import inv
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] from matplotlib import _api
[2024-06-23T21:30:37.714Z] > from matplotlib._path import (
[2024-06-23T21:30:37.714Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.714Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.714Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.714Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.714Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.714Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.714Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.714Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.714Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.714Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.714Z] code = main()
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.714Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.714Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.714Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.714Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.714Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.714Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.714Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.714Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.714Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.714Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.714Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.714Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.714Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.714Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.714Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.714Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.714Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.714Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.714Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.714Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.714Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.714Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.714Z] item.runtest()
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.714Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.714Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.714Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.714Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.714Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.714Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 389, in test_filled_random_chunk_threads
[2024-06-23T21:30:37.714Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.714Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.714Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.714Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.714Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.714Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.714Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.714Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.714Z] from matplotlib._path import (
[2024-06-23T21:30:37.714Z] Traceback (most recent call last):
[2024-06-23T21:30:37.714Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.714Z] raise ImportError(msg)
[2024-06-23T21:30:37.714Z] ImportError:
[2024-06-23T21:30:37.714Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.714Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.714Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.714Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.714Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.714Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] ________ test_filled_random_chunk_threads[3-ChunkCombinedOffsetOffset] _________
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] fill_type = <FillType.ChunkCombinedOffsetOffset: 206>, thread_count = 3
[2024-06-23T21:30:37.714Z]
[2024-06-23T21:30:37.714Z] @pytest.mark.image
[2024-06-23T21:30:37.714Z] @pytest.mark.threads
[2024-06-23T21:30:37.714Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.714Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.714Z] def test_filled_random_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.715Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] tests/test_filled.py:389:
[2024-06-23T21:30:37.715Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.715Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.715Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.715Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.715Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.715Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.715Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.715Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.715Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.715Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.715Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.715Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.715Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.715Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] """
[2024-06-23T21:30:37.715Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.715Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.715Z] elements drawn on the canvas.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.715Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.715Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.715Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.715Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.715Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.715Z] interactive performance.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.715Z] to the graph:
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.715Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.715Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.715Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.715Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.715Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.715Z] themselves.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.715Z] of how to use transforms.
[2024-06-23T21:30:37.715Z] """
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.715Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.715Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] import copy
[2024-06-23T21:30:37.715Z] import functools
[2024-06-23T21:30:37.715Z] import textwrap
[2024-06-23T21:30:37.715Z] import weakref
[2024-06-23T21:30:37.715Z] import math
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] import numpy as np
[2024-06-23T21:30:37.715Z] from numpy.linalg import inv
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] from matplotlib import _api
[2024-06-23T21:30:37.715Z] > from matplotlib._path import (
[2024-06-23T21:30:37.715Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.715Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.715Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.715Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.715Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.715Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.715Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.715Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.715Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.715Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.715Z] code = main()
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.715Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.715Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.715Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.715Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.715Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.715Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.715Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.715Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.715Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.715Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.715Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.715Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.715Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.715Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.715Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.715Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.715Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.715Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.715Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.715Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.715Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.715Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.715Z] item.runtest()
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.715Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.715Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.715Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.715Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.715Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.715Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 389, in test_filled_random_chunk_threads
[2024-06-23T21:30:37.715Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.715Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.715Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.715Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.715Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.715Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.715Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.715Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.715Z] from matplotlib._path import (
[2024-06-23T21:30:37.715Z] Traceback (most recent call last):
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.715Z] raise ImportError(msg)
[2024-06-23T21:30:37.715Z] ImportError:
[2024-06-23T21:30:37.715Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.715Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.715Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.715Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.715Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.715Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] _____________ test_filled_random_no_corner_mask[mpl2005-OuterCode] _____________
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] name = 'mpl2005', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] @pytest.mark.image
[2024-06-23T21:30:37.715Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.715Z] def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.715Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] tests/test_filled.py:424:
[2024-06-23T21:30:37.715Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.715Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.715Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.715Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.715Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.715Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.715Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.715Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.715Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.715Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.715Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.715Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.715Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.715Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] """
[2024-06-23T21:30:37.715Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.715Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.715Z] elements drawn on the canvas.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.715Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.715Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.715Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.715Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.715Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.715Z] interactive performance.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.715Z] to the graph:
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.715Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.715Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.715Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.715Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.715Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.715Z] themselves.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.715Z] of how to use transforms.
[2024-06-23T21:30:37.715Z] """
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.715Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.715Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] import copy
[2024-06-23T21:30:37.715Z] import functools
[2024-06-23T21:30:37.715Z] import textwrap
[2024-06-23T21:30:37.715Z] import weakref
[2024-06-23T21:30:37.715Z] import math
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] import numpy as np
[2024-06-23T21:30:37.715Z] from numpy.linalg import inv
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] from matplotlib import _api
[2024-06-23T21:30:37.715Z] > from matplotlib._path import (
[2024-06-23T21:30:37.715Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.715Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.715Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.715Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.715Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.715Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.715Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.715Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.715Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.715Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.715Z] code = main()
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.715Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.715Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.715Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.715Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.715Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.715Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.715Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.715Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.715Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.715Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.715Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.715Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.715Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.715Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.715Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.715Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.715Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.715Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.715Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.715Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.715Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.715Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.715Z] item.runtest()
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.715Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.715Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.715Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.715Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.715Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.715Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 424, in test_filled_random_no_corner_mask
[2024-06-23T21:30:37.715Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.715Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.715Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.715Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.715Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.715Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.715Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.715Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.715Z] from matplotlib._path import (
[2024-06-23T21:30:37.715Z] Traceback (most recent call last):
[2024-06-23T21:30:37.715Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.715Z] raise ImportError(msg)
[2024-06-23T21:30:37.715Z] ImportError:
[2024-06-23T21:30:37.715Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.715Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.715Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.715Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.715Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.715Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] _____________ test_filled_random_no_corner_mask[mpl2014-OuterCode] _____________
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] name = 'mpl2014', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] @pytest.mark.image
[2024-06-23T21:30:37.715Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.715Z] def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.715Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] tests/test_filled.py:424:
[2024-06-23T21:30:37.715Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.715Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.715Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.715Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.715Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.715Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.715Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.715Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.715Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.715Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.715Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.715Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.715Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.715Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] """
[2024-06-23T21:30:37.715Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.715Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.715Z] elements drawn on the canvas.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.715Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.715Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.715Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.715Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.715Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.715Z] interactive performance.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.715Z] to the graph:
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.715Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.715Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.715Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.715Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.715Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.715Z] themselves.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.715Z] of how to use transforms.
[2024-06-23T21:30:37.715Z] """
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.715Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.715Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.715Z]
[2024-06-23T21:30:37.715Z] import copy
[2024-06-23T21:30:37.715Z] import functools
[2024-06-23T21:30:37.715Z] import textwrap
[2024-06-23T21:30:37.715Z] import weakref
[2024-06-23T21:30:37.715Z] import math
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] import numpy as np
[2024-06-23T21:30:37.716Z] from numpy.linalg import inv
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] from matplotlib import _api
[2024-06-23T21:30:37.716Z] > from matplotlib._path import (
[2024-06-23T21:30:37.716Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.716Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.716Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.716Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.716Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.716Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.716Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.716Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.716Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.716Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.716Z] code = main()
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.716Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.716Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.716Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.716Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.716Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.716Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.716Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.716Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.716Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.716Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.716Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.716Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.716Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.716Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.716Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.716Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.716Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.716Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.716Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.716Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.716Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.716Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.716Z] item.runtest()
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.716Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.716Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.716Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.716Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.716Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.716Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 424, in test_filled_random_no_corner_mask
[2024-06-23T21:30:37.716Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.716Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.716Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.716Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.716Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.716Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.716Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.716Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.716Z] from matplotlib._path import (
[2024-06-23T21:30:37.716Z] Traceback (most recent call last):
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.716Z] raise ImportError(msg)
[2024-06-23T21:30:37.716Z] ImportError:
[2024-06-23T21:30:37.716Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.716Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.716Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.716Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.716Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.716Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] _____________ test_filled_random_no_corner_mask[serial-OuterCode] ______________
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] name = 'serial', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] @pytest.mark.image
[2024-06-23T21:30:37.716Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.716Z] def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.716Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] tests/test_filled.py:424:
[2024-06-23T21:30:37.716Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.716Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.716Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.716Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.716Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.716Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.716Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.716Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.716Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.716Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.716Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.716Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.716Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.716Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] """
[2024-06-23T21:30:37.716Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.716Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.716Z] elements drawn on the canvas.
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.716Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.716Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.716Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.716Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.716Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.716Z] interactive performance.
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.716Z] to the graph:
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.716Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.716Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.716Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.716Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.716Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.716Z] themselves.
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.716Z] of how to use transforms.
[2024-06-23T21:30:37.716Z] """
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.716Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.716Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] import copy
[2024-06-23T21:30:37.716Z] import functools
[2024-06-23T21:30:37.716Z] import textwrap
[2024-06-23T21:30:37.716Z] import weakref
[2024-06-23T21:30:37.716Z] import math
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] import numpy as np
[2024-06-23T21:30:37.716Z] from numpy.linalg import inv
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] from matplotlib import _api
[2024-06-23T21:30:37.716Z] > from matplotlib._path import (
[2024-06-23T21:30:37.716Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.716Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.716Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.716Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.716Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.716Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.716Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.716Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.716Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.716Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.716Z] code = main()
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.716Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.716Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.716Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.716Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.716Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.716Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.716Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.716Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.716Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.716Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.716Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.716Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.716Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.716Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.716Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.716Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.716Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.716Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.716Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.716Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.716Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.716Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.716Z] item.runtest()
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.716Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.716Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.716Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.716Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.716Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.716Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 424, in test_filled_random_no_corner_mask
[2024-06-23T21:30:37.716Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.716Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.716Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.716Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.716Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.716Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.716Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.716Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.716Z] from matplotlib._path import (
[2024-06-23T21:30:37.716Z] Traceback (most recent call last):
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.716Z] raise ImportError(msg)
[2024-06-23T21:30:37.716Z] ImportError:
[2024-06-23T21:30:37.716Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.716Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.716Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.716Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.716Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.716Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] ____________ test_filled_random_no_corner_mask[serial-OuterOffset] _____________
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] name = 'serial', fill_type = <FillType.OuterOffset: 202>
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] @pytest.mark.image
[2024-06-23T21:30:37.716Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.716Z] def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.716Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] tests/test_filled.py:424:
[2024-06-23T21:30:37.716Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.716Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.716Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.716Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.716Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.716Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.716Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.716Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.716Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.716Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.716Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.716Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.716Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.716Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] """
[2024-06-23T21:30:37.716Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.716Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.716Z] elements drawn on the canvas.
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.716Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.716Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.716Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.716Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.716Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.716Z] interactive performance.
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.716Z] to the graph:
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.716Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.716Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.716Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.716Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.716Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.716Z] themselves.
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.716Z] of how to use transforms.
[2024-06-23T21:30:37.716Z] """
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.716Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.716Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] import copy
[2024-06-23T21:30:37.716Z] import functools
[2024-06-23T21:30:37.716Z] import textwrap
[2024-06-23T21:30:37.716Z] import weakref
[2024-06-23T21:30:37.716Z] import math
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] import numpy as np
[2024-06-23T21:30:37.716Z] from numpy.linalg import inv
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] from matplotlib import _api
[2024-06-23T21:30:37.716Z] > from matplotlib._path import (
[2024-06-23T21:30:37.716Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.716Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.716Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.716Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.716Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.716Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.716Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.716Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.716Z]
[2024-06-23T21:30:37.716Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.716Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.716Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.716Z] code = main()
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.716Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.716Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.716Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.716Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.716Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.716Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.716Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.716Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.716Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.716Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.716Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.716Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.716Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.716Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.716Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.716Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.716Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.716Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.716Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.716Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.716Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.717Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.717Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.717Z] item.runtest()
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.717Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.717Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.717Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.717Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.717Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.717Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 424, in test_filled_random_no_corner_mask
[2024-06-23T21:30:37.717Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.717Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.717Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.717Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.717Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.717Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.717Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.717Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.717Z] from matplotlib._path import (
[2024-06-23T21:30:37.717Z] Traceback (most recent call last):
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.717Z] raise ImportError(msg)
[2024-06-23T21:30:37.717Z] ImportError:
[2024-06-23T21:30:37.717Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.717Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.717Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.717Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.717Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.717Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] _________ test_filled_random_no_corner_mask[serial-ChunkCombinedCode] __________
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] name = 'serial', fill_type = <FillType.ChunkCombinedCode: 203>
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] @pytest.mark.image
[2024-06-23T21:30:37.717Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.717Z] def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.717Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] tests/test_filled.py:424:
[2024-06-23T21:30:37.717Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.717Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.717Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.717Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.717Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.717Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.717Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.717Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.717Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.717Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.717Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.717Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.717Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.717Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] """
[2024-06-23T21:30:37.717Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.717Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.717Z] elements drawn on the canvas.
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.717Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.717Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.717Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.717Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.717Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.717Z] interactive performance.
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.717Z] to the graph:
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.717Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.717Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.717Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.717Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.717Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.717Z] themselves.
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.717Z] of how to use transforms.
[2024-06-23T21:30:37.717Z] """
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.717Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.717Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] import copy
[2024-06-23T21:30:37.717Z] import functools
[2024-06-23T21:30:37.717Z] import textwrap
[2024-06-23T21:30:37.717Z] import weakref
[2024-06-23T21:30:37.717Z] import math
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] import numpy as np
[2024-06-23T21:30:37.717Z] from numpy.linalg import inv
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] from matplotlib import _api
[2024-06-23T21:30:37.717Z] > from matplotlib._path import (
[2024-06-23T21:30:37.717Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.717Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.717Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.717Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.717Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.717Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.717Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.717Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.717Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.717Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.717Z] code = main()
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.717Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.717Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.717Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.717Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.717Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.717Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.717Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.717Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.717Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.717Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.717Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.717Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.717Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.717Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.717Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.717Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.717Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.717Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.717Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.717Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.717Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.717Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.717Z] item.runtest()
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.717Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.717Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.717Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.717Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.717Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.717Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 424, in test_filled_random_no_corner_mask
[2024-06-23T21:30:37.717Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.717Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.717Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.717Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.717Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.717Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.717Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.717Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.717Z] from matplotlib._path import (
[2024-06-23T21:30:37.717Z] Traceback (most recent call last):
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.717Z] raise ImportError(msg)
[2024-06-23T21:30:37.717Z] ImportError:
[2024-06-23T21:30:37.717Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.717Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.717Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.717Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.717Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.717Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] ________ test_filled_random_no_corner_mask[serial-ChunkCombinedOffset] _________
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] name = 'serial', fill_type = <FillType.ChunkCombinedOffset: 204>
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] @pytest.mark.image
[2024-06-23T21:30:37.717Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.717Z] def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.717Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] tests/test_filled.py:424:
[2024-06-23T21:30:37.717Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.717Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.717Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.717Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.717Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.717Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.717Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.717Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.717Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.717Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.717Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.717Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.717Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.717Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] """
[2024-06-23T21:30:37.717Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.717Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.717Z] elements drawn on the canvas.
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.717Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.717Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.717Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.717Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.717Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.717Z] interactive performance.
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.717Z] to the graph:
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.717Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.717Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.717Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.717Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.717Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.717Z] themselves.
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.717Z] of how to use transforms.
[2024-06-23T21:30:37.717Z] """
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.717Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.717Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] import copy
[2024-06-23T21:30:37.717Z] import functools
[2024-06-23T21:30:37.717Z] import textwrap
[2024-06-23T21:30:37.717Z] import weakref
[2024-06-23T21:30:37.717Z] import math
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] import numpy as np
[2024-06-23T21:30:37.717Z] from numpy.linalg import inv
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] from matplotlib import _api
[2024-06-23T21:30:37.717Z] > from matplotlib._path import (
[2024-06-23T21:30:37.717Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.717Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.717Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.717Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.717Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.717Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.717Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.717Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.717Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.717Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.717Z] code = main()
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.717Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.717Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.717Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.717Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.717Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.717Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.717Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.717Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.717Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.717Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.717Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.717Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.717Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.717Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.717Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.717Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.717Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.717Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.717Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.717Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.717Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.717Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.717Z] item.runtest()
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.717Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.717Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.717Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.717Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.717Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.717Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 424, in test_filled_random_no_corner_mask
[2024-06-23T21:30:37.717Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.717Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.717Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.717Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.717Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.717Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.717Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.717Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.717Z] from matplotlib._path import (
[2024-06-23T21:30:37.717Z] Traceback (most recent call last):
[2024-06-23T21:30:37.717Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.717Z] raise ImportError(msg)
[2024-06-23T21:30:37.717Z] ImportError:
[2024-06-23T21:30:37.717Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.717Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.717Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.717Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.717Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.717Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] ______ test_filled_random_no_corner_mask[serial-ChunkCombinedCodeOffset] _______
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] name = 'serial', fill_type = <FillType.ChunkCombinedCodeOffset: 205>
[2024-06-23T21:30:37.717Z]
[2024-06-23T21:30:37.717Z] @pytest.mark.image
[2024-06-23T21:30:37.718Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.718Z] def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.718Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] tests/test_filled.py:424:
[2024-06-23T21:30:37.718Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.718Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.718Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.718Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.718Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.718Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.718Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.718Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.718Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.718Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.718Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.718Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.718Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.718Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] """
[2024-06-23T21:30:37.718Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.718Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.718Z] elements drawn on the canvas.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.718Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.718Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.718Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.718Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.718Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.718Z] interactive performance.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.718Z] to the graph:
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.718Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.718Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.718Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.718Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.718Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.718Z] themselves.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.718Z] of how to use transforms.
[2024-06-23T21:30:37.718Z] """
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.718Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.718Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] import copy
[2024-06-23T21:30:37.718Z] import functools
[2024-06-23T21:30:37.718Z] import textwrap
[2024-06-23T21:30:37.718Z] import weakref
[2024-06-23T21:30:37.718Z] import math
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] import numpy as np
[2024-06-23T21:30:37.718Z] from numpy.linalg import inv
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] from matplotlib import _api
[2024-06-23T21:30:37.718Z] > from matplotlib._path import (
[2024-06-23T21:30:37.718Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.718Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.718Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.718Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.718Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.718Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.718Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.718Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.718Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.718Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.718Z] code = main()
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.718Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.718Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.718Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.718Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.718Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.718Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.718Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.718Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.718Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.718Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.718Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.718Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.718Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.718Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.718Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.718Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.718Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.718Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.718Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.718Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.718Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.718Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.718Z] item.runtest()
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.718Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.718Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.718Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.718Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.718Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.718Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 424, in test_filled_random_no_corner_mask
[2024-06-23T21:30:37.718Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.718Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.718Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.718Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.718Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.718Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.718Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.718Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.718Z] from matplotlib._path import (
[2024-06-23T21:30:37.718Z] Traceback (most recent call last):
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.718Z] raise ImportError(msg)
[2024-06-23T21:30:37.718Z] ImportError:
[2024-06-23T21:30:37.718Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.718Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.718Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.718Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.718Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.718Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] _____ test_filled_random_no_corner_mask[serial-ChunkCombinedOffsetOffset] ______
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] name = 'serial', fill_type = <FillType.ChunkCombinedOffsetOffset: 206>
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] @pytest.mark.image
[2024-06-23T21:30:37.718Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.718Z] def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.718Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] tests/test_filled.py:424:
[2024-06-23T21:30:37.718Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.718Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.718Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.718Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.718Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.718Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.718Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.718Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.718Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.718Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.718Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.718Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.718Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.718Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] """
[2024-06-23T21:30:37.718Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.718Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.718Z] elements drawn on the canvas.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.718Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.718Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.718Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.718Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.718Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.718Z] interactive performance.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.718Z] to the graph:
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.718Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.718Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.718Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.718Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.718Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.718Z] themselves.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.718Z] of how to use transforms.
[2024-06-23T21:30:37.718Z] """
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.718Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.718Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] import copy
[2024-06-23T21:30:37.718Z] import functools
[2024-06-23T21:30:37.718Z] import textwrap
[2024-06-23T21:30:37.718Z] import weakref
[2024-06-23T21:30:37.718Z] import math
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] import numpy as np
[2024-06-23T21:30:37.718Z] from numpy.linalg import inv
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] from matplotlib import _api
[2024-06-23T21:30:37.718Z] > from matplotlib._path import (
[2024-06-23T21:30:37.718Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.718Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.718Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.718Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.718Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.718Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.718Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.718Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.718Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.718Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.718Z] code = main()
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.718Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.718Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.718Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.718Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.718Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.718Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.718Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.718Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.718Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.718Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.718Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.718Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.718Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.718Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.718Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.718Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.718Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.718Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.718Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.718Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.718Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.718Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.718Z] item.runtest()
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.718Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.718Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.718Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.718Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.718Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.718Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 424, in test_filled_random_no_corner_mask
[2024-06-23T21:30:37.718Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.718Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.718Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.718Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.718Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.718Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.718Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.718Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.718Z] from matplotlib._path import (
[2024-06-23T21:30:37.718Z] Traceback (most recent call last):
[2024-06-23T21:30:37.718Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.718Z] raise ImportError(msg)
[2024-06-23T21:30:37.718Z] ImportError:
[2024-06-23T21:30:37.718Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.718Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.718Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.718Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.718Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.718Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] ____________ test_filled_random_no_corner_mask[threaded-OuterCode] _____________
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] name = 'threaded', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] @pytest.mark.image
[2024-06-23T21:30:37.718Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.718Z] def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.718Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] tests/test_filled.py:424:
[2024-06-23T21:30:37.718Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.718Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.718Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.718Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.718Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.718Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.718Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.718Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.718Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.718Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.718Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.718Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.718Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.718Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] """
[2024-06-23T21:30:37.718Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.718Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.718Z] elements drawn on the canvas.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.718Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.718Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.718Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.718Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.718Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.718Z] interactive performance.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.718Z] to the graph:
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.718Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.718Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.718Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.718Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.718Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.718Z] themselves.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.718Z] of how to use transforms.
[2024-06-23T21:30:37.718Z] """
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.718Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.718Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] import copy
[2024-06-23T21:30:37.718Z] import functools
[2024-06-23T21:30:37.718Z] import textwrap
[2024-06-23T21:30:37.718Z] import weakref
[2024-06-23T21:30:37.718Z] import math
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] import numpy as np
[2024-06-23T21:30:37.718Z] from numpy.linalg import inv
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] from matplotlib import _api
[2024-06-23T21:30:37.718Z] > from matplotlib._path import (
[2024-06-23T21:30:37.718Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.718Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.718Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.718Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.718Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.718Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.718Z]
[2024-06-23T21:30:37.718Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.719Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.719Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.719Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.719Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.719Z] code = main()
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.719Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.719Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.719Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.719Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.719Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.719Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.719Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.719Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.719Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.719Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.719Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.719Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.719Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.719Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.719Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.719Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.719Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.719Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.719Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.719Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.719Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.719Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.719Z] item.runtest()
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.719Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.719Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.719Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.719Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.719Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.719Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 424, in test_filled_random_no_corner_mask
[2024-06-23T21:30:37.719Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.719Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.719Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.719Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.719Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.719Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.719Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.719Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.719Z] from matplotlib._path import (
[2024-06-23T21:30:37.719Z] Traceback (most recent call last):
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.719Z] raise ImportError(msg)
[2024-06-23T21:30:37.719Z] ImportError:
[2024-06-23T21:30:37.719Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.719Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.719Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.719Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.719Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.719Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] ___________ test_filled_random_no_corner_mask[threaded-OuterOffset] ____________
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] name = 'threaded', fill_type = <FillType.OuterOffset: 202>
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] @pytest.mark.image
[2024-06-23T21:30:37.719Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.719Z] def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.719Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] tests/test_filled.py:424:
[2024-06-23T21:30:37.719Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.719Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.719Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.719Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.719Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.719Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.719Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.719Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.719Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.719Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.719Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.719Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.719Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.719Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] """
[2024-06-23T21:30:37.719Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.719Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.719Z] elements drawn on the canvas.
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.719Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.719Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.719Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.719Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.719Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.719Z] interactive performance.
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.719Z] to the graph:
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.719Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.719Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.719Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.719Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.719Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.719Z] themselves.
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.719Z] of how to use transforms.
[2024-06-23T21:30:37.719Z] """
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.719Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.719Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] import copy
[2024-06-23T21:30:37.719Z] import functools
[2024-06-23T21:30:37.719Z] import textwrap
[2024-06-23T21:30:37.719Z] import weakref
[2024-06-23T21:30:37.719Z] import math
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] import numpy as np
[2024-06-23T21:30:37.719Z] from numpy.linalg import inv
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] from matplotlib import _api
[2024-06-23T21:30:37.719Z] > from matplotlib._path import (
[2024-06-23T21:30:37.719Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.719Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.719Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.719Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.719Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.719Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.719Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.719Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.719Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.719Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.719Z] code = main()
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.719Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.719Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.719Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.719Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.719Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.719Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.719Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.719Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.719Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.719Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.719Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.719Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.719Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.719Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.719Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.719Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.719Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.719Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.719Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.719Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.719Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.719Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.719Z] item.runtest()
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.719Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.719Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.719Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.719Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.719Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.719Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 424, in test_filled_random_no_corner_mask
[2024-06-23T21:30:37.719Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.719Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.719Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.719Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.719Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.719Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.719Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.719Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.719Z] from matplotlib._path import (
[2024-06-23T21:30:37.719Z] Traceback (most recent call last):
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.719Z] raise ImportError(msg)
[2024-06-23T21:30:37.719Z] ImportError:
[2024-06-23T21:30:37.719Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.719Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.719Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.719Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.719Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.719Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] ________ test_filled_random_no_corner_mask[threaded-ChunkCombinedCode] _________
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] name = 'threaded', fill_type = <FillType.ChunkCombinedCode: 203>
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] @pytest.mark.image
[2024-06-23T21:30:37.719Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.719Z] def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.719Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] tests/test_filled.py:424:
[2024-06-23T21:30:37.719Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.719Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.719Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.719Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.719Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.719Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.719Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.719Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.719Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.719Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.719Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.719Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.719Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.719Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] """
[2024-06-23T21:30:37.719Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.719Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.719Z] elements drawn on the canvas.
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.719Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.719Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.719Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.719Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.719Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.719Z] interactive performance.
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.719Z] to the graph:
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.719Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.719Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.719Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.719Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.719Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.719Z] themselves.
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.719Z] of how to use transforms.
[2024-06-23T21:30:37.719Z] """
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.719Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.719Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] import copy
[2024-06-23T21:30:37.719Z] import functools
[2024-06-23T21:30:37.719Z] import textwrap
[2024-06-23T21:30:37.719Z] import weakref
[2024-06-23T21:30:37.719Z] import math
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] import numpy as np
[2024-06-23T21:30:37.719Z] from numpy.linalg import inv
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] from matplotlib import _api
[2024-06-23T21:30:37.719Z] > from matplotlib._path import (
[2024-06-23T21:30:37.719Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.719Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.719Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.719Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.719Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.719Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.719Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.719Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.719Z]
[2024-06-23T21:30:37.719Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.719Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.719Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.719Z] code = main()
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.719Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.719Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.719Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.719Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.719Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.719Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.719Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.719Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.719Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.719Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.719Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.719Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.719Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.719Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.719Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.719Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.719Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.719Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.719Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.719Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.720Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.720Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.720Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.720Z] item.runtest()
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.720Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.720Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.720Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.720Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.720Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.720Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 424, in test_filled_random_no_corner_mask
[2024-06-23T21:30:37.720Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.720Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.720Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.720Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.720Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.720Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.720Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.720Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.720Z] from matplotlib._path import (
[2024-06-23T21:30:37.720Z] Traceback (most recent call last):
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.720Z] raise ImportError(msg)
[2024-06-23T21:30:37.720Z] ImportError:
[2024-06-23T21:30:37.720Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.720Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.720Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.720Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.720Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.720Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] _______ test_filled_random_no_corner_mask[threaded-ChunkCombinedOffset] ________
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] name = 'threaded', fill_type = <FillType.ChunkCombinedOffset: 204>
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] @pytest.mark.image
[2024-06-23T21:30:37.720Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.720Z] def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.720Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] tests/test_filled.py:424:
[2024-06-23T21:30:37.720Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.720Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.720Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.720Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.720Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.720Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.720Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.720Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.720Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.720Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.720Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.720Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.720Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.720Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] """
[2024-06-23T21:30:37.720Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.720Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.720Z] elements drawn on the canvas.
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.720Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.720Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.720Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.720Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.720Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.720Z] interactive performance.
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.720Z] to the graph:
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.720Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.720Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.720Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.720Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.720Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.720Z] themselves.
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.720Z] of how to use transforms.
[2024-06-23T21:30:37.720Z] """
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.720Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.720Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] import copy
[2024-06-23T21:30:37.720Z] import functools
[2024-06-23T21:30:37.720Z] import textwrap
[2024-06-23T21:30:37.720Z] import weakref
[2024-06-23T21:30:37.720Z] import math
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] import numpy as np
[2024-06-23T21:30:37.720Z] from numpy.linalg import inv
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] from matplotlib import _api
[2024-06-23T21:30:37.720Z] > from matplotlib._path import (
[2024-06-23T21:30:37.720Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.720Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.720Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.720Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.720Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.720Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.720Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.720Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.720Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.720Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.720Z] code = main()
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.720Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.720Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.720Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.720Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.720Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.720Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.720Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.720Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.720Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.720Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.720Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.720Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.720Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.720Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.720Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.720Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.720Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.720Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.720Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.720Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.720Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.720Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.720Z] item.runtest()
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.720Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.720Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.720Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.720Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.720Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.720Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 424, in test_filled_random_no_corner_mask
[2024-06-23T21:30:37.720Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.720Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.720Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.720Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.720Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.720Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.720Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.720Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.720Z] from matplotlib._path import (
[2024-06-23T21:30:37.720Z] Traceback (most recent call last):
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.720Z] raise ImportError(msg)
[2024-06-23T21:30:37.720Z] ImportError:
[2024-06-23T21:30:37.720Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.720Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.720Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.720Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.720Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.720Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] _____ test_filled_random_no_corner_mask[threaded-ChunkCombinedCodeOffset] ______
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] name = 'threaded', fill_type = <FillType.ChunkCombinedCodeOffset: 205>
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] @pytest.mark.image
[2024-06-23T21:30:37.720Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.720Z] def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.720Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] tests/test_filled.py:424:
[2024-06-23T21:30:37.720Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.720Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.720Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.720Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.720Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.720Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.720Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.720Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.720Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.720Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.720Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.720Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.720Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.720Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] """
[2024-06-23T21:30:37.720Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.720Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.720Z] elements drawn on the canvas.
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.720Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.720Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.720Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.720Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.720Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.720Z] interactive performance.
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.720Z] to the graph:
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.720Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.720Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.720Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.720Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.720Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.720Z] themselves.
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.720Z] of how to use transforms.
[2024-06-23T21:30:37.720Z] """
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.720Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.720Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] import copy
[2024-06-23T21:30:37.720Z] import functools
[2024-06-23T21:30:37.720Z] import textwrap
[2024-06-23T21:30:37.720Z] import weakref
[2024-06-23T21:30:37.720Z] import math
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] import numpy as np
[2024-06-23T21:30:37.720Z] from numpy.linalg import inv
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] from matplotlib import _api
[2024-06-23T21:30:37.720Z] > from matplotlib._path import (
[2024-06-23T21:30:37.720Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.720Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.720Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.720Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.720Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.720Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.720Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.720Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.720Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.720Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.720Z] code = main()
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.720Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.720Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.720Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.720Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.720Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.720Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.720Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.720Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.720Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.720Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.720Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.720Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.720Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.720Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.720Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.720Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.720Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.720Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.720Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.720Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.720Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.720Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.720Z] item.runtest()
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.720Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.720Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.720Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.720Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.720Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.720Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 424, in test_filled_random_no_corner_mask
[2024-06-23T21:30:37.720Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.720Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.720Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.720Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.720Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.720Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.720Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.720Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.720Z] from matplotlib._path import (
[2024-06-23T21:30:37.720Z] Traceback (most recent call last):
[2024-06-23T21:30:37.720Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.720Z] raise ImportError(msg)
[2024-06-23T21:30:37.720Z] ImportError:
[2024-06-23T21:30:37.720Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.720Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.720Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.720Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.720Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.720Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] ____ test_filled_random_no_corner_mask[threaded-ChunkCombinedOffsetOffset] _____
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] name = 'threaded', fill_type = <FillType.ChunkCombinedOffsetOffset: 206>
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] @pytest.mark.image
[2024-06-23T21:30:37.720Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.720Z] def test_filled_random_no_corner_mask(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.720Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.720Z]
[2024-06-23T21:30:37.720Z] tests/test_filled.py:424:
[2024-06-23T21:30:37.720Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.720Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.720Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.720Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.720Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.720Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.720Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.720Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.720Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.720Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.721Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.721Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.721Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.721Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] """
[2024-06-23T21:30:37.721Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.721Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.721Z] elements drawn on the canvas.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.721Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.721Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.721Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.721Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.721Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.721Z] interactive performance.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.721Z] to the graph:
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.721Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.721Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.721Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.721Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.721Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.721Z] themselves.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.721Z] of how to use transforms.
[2024-06-23T21:30:37.721Z] """
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.721Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.721Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] import copy
[2024-06-23T21:30:37.721Z] import functools
[2024-06-23T21:30:37.721Z] import textwrap
[2024-06-23T21:30:37.721Z] import weakref
[2024-06-23T21:30:37.721Z] import math
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] import numpy as np
[2024-06-23T21:30:37.721Z] from numpy.linalg import inv
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] from matplotlib import _api
[2024-06-23T21:30:37.721Z] > from matplotlib._path import (
[2024-06-23T21:30:37.721Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.721Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.721Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.721Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.721Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.721Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.721Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.721Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.721Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.721Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.721Z] code = main()
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.721Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.721Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.721Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.721Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.721Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.721Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.721Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.721Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.721Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.721Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.721Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.721Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.721Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.721Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.721Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.721Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.721Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.721Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.721Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.721Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.721Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.721Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.721Z] item.runtest()
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.721Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.721Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.721Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.721Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.721Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.721Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 424, in test_filled_random_no_corner_mask
[2024-06-23T21:30:37.721Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.721Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.721Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.721Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.721Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.721Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.721Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.721Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.721Z] from matplotlib._path import (
[2024-06-23T21:30:37.721Z] Traceback (most recent call last):
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.721Z] raise ImportError(msg)
[2024-06-23T21:30:37.721Z] ImportError:
[2024-06-23T21:30:37.721Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.721Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.721Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.721Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.721Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.721Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] __________ test_filled_random_no_corner_mask_chunk[mpl2005-OuterCode] __________
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] name = 'mpl2005', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] @pytest.mark.image
[2024-06-23T21:30:37.721Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.721Z] def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.721Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] tests/test_filled.py:447:
[2024-06-23T21:30:37.721Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.721Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.721Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.721Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.721Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.721Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.721Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.721Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.721Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.721Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.721Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.721Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.721Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.721Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] """
[2024-06-23T21:30:37.721Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.721Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.721Z] elements drawn on the canvas.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.721Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.721Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.721Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.721Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.721Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.721Z] interactive performance.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.721Z] to the graph:
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.721Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.721Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.721Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.721Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.721Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.721Z] themselves.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.721Z] of how to use transforms.
[2024-06-23T21:30:37.721Z] """
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.721Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.721Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] import copy
[2024-06-23T21:30:37.721Z] import functools
[2024-06-23T21:30:37.721Z] import textwrap
[2024-06-23T21:30:37.721Z] import weakref
[2024-06-23T21:30:37.721Z] import math
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] import numpy as np
[2024-06-23T21:30:37.721Z] from numpy.linalg import inv
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] from matplotlib import _api
[2024-06-23T21:30:37.721Z] > from matplotlib._path import (
[2024-06-23T21:30:37.721Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.721Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.721Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.721Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.721Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.721Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.721Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.721Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.721Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.721Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.721Z] code = main()
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.721Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.721Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.721Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.721Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.721Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.721Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.721Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.721Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.721Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.721Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.721Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.721Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.721Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.721Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.721Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.721Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.721Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.721Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.721Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.721Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.721Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.721Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.721Z] item.runtest()
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.721Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.721Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.721Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.721Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.721Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.721Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 447, in test_filled_random_no_corner_mask_chunk
[2024-06-23T21:30:37.721Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.721Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.721Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.721Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.721Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.721Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.721Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.721Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.721Z] from matplotlib._path import (
[2024-06-23T21:30:37.721Z] Traceback (most recent call last):
[2024-06-23T21:30:37.721Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.721Z] raise ImportError(msg)
[2024-06-23T21:30:37.721Z] ImportError:
[2024-06-23T21:30:37.721Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.721Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.721Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.721Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.721Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.721Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] __________ test_filled_random_no_corner_mask_chunk[mpl2014-OuterCode] __________
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] name = 'mpl2014', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] @pytest.mark.image
[2024-06-23T21:30:37.721Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.721Z] def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.721Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] tests/test_filled.py:447:
[2024-06-23T21:30:37.721Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.721Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.721Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.721Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.721Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.721Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.721Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.721Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.721Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.721Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.721Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.721Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.721Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.721Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] """
[2024-06-23T21:30:37.721Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.721Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.721Z] elements drawn on the canvas.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.721Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.721Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.721Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.721Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.721Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.721Z] interactive performance.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.721Z] to the graph:
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.721Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.721Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.721Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.721Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.721Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.721Z] themselves.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.721Z] of how to use transforms.
[2024-06-23T21:30:37.721Z] """
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.721Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.721Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] import copy
[2024-06-23T21:30:37.721Z] import functools
[2024-06-23T21:30:37.721Z] import textwrap
[2024-06-23T21:30:37.721Z] import weakref
[2024-06-23T21:30:37.721Z] import math
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] import numpy as np
[2024-06-23T21:30:37.721Z] from numpy.linalg import inv
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] from matplotlib import _api
[2024-06-23T21:30:37.721Z] > from matplotlib._path import (
[2024-06-23T21:30:37.721Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.721Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.721Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.721Z]
[2024-06-23T21:30:37.721Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.721Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.721Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.721Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.722Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.722Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.722Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.722Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.722Z] code = main()
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.722Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.722Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.722Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.722Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.722Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.722Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.722Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.722Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.722Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.722Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.722Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.722Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.722Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.722Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.722Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.722Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.722Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.722Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.722Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.722Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.722Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.722Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.722Z] item.runtest()
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.722Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.722Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.722Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.722Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.722Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.722Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 447, in test_filled_random_no_corner_mask_chunk
[2024-06-23T21:30:37.722Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.722Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.722Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.722Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.722Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.722Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.722Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.722Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.722Z] from matplotlib._path import (
[2024-06-23T21:30:37.722Z] Traceback (most recent call last):
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.722Z] raise ImportError(msg)
[2024-06-23T21:30:37.722Z] ImportError:
[2024-06-23T21:30:37.722Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.722Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.722Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.722Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.722Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.722Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] __________ test_filled_random_no_corner_mask_chunk[serial-OuterCode] ___________
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] name = 'serial', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] @pytest.mark.image
[2024-06-23T21:30:37.722Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.722Z] def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.722Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] tests/test_filled.py:447:
[2024-06-23T21:30:37.722Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.722Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.722Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.722Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.722Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.722Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.722Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.722Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.722Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.722Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.722Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.722Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.722Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.722Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] """
[2024-06-23T21:30:37.722Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.722Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.722Z] elements drawn on the canvas.
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.722Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.722Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.722Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.722Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.722Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.722Z] interactive performance.
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.722Z] to the graph:
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.722Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.722Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.722Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.722Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.722Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.722Z] themselves.
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.722Z] of how to use transforms.
[2024-06-23T21:30:37.722Z] """
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.722Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.722Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] import copy
[2024-06-23T21:30:37.722Z] import functools
[2024-06-23T21:30:37.722Z] import textwrap
[2024-06-23T21:30:37.722Z] import weakref
[2024-06-23T21:30:37.722Z] import math
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] import numpy as np
[2024-06-23T21:30:37.722Z] from numpy.linalg import inv
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] from matplotlib import _api
[2024-06-23T21:30:37.722Z] > from matplotlib._path import (
[2024-06-23T21:30:37.722Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.722Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.722Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.722Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.722Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.722Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.722Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.722Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.722Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.722Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.722Z] code = main()
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.722Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.722Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.722Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.722Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.722Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.722Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.722Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.722Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.722Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.722Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.722Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.722Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.722Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.722Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.722Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.722Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.722Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.722Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.722Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.722Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.722Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.722Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.722Z] item.runtest()
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.722Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.722Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.722Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.722Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.722Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.722Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 447, in test_filled_random_no_corner_mask_chunk
[2024-06-23T21:30:37.722Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.722Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.722Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.722Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.722Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.722Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.722Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.722Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.722Z] from matplotlib._path import (
[2024-06-23T21:30:37.722Z] Traceback (most recent call last):
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.722Z] raise ImportError(msg)
[2024-06-23T21:30:37.722Z] ImportError:
[2024-06-23T21:30:37.722Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.722Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.722Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.722Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.722Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.722Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] _________ test_filled_random_no_corner_mask_chunk[serial-OuterOffset] __________
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] name = 'serial', fill_type = <FillType.OuterOffset: 202>
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] @pytest.mark.image
[2024-06-23T21:30:37.722Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.722Z] def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.722Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] tests/test_filled.py:447:
[2024-06-23T21:30:37.722Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.722Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.722Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.722Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.722Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.722Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.722Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.722Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.722Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.722Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.722Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.722Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.722Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.722Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] """
[2024-06-23T21:30:37.722Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.722Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.722Z] elements drawn on the canvas.
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.722Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.722Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.722Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.722Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.722Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.722Z] interactive performance.
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.722Z] to the graph:
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.722Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.722Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.722Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.722Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.722Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.722Z] themselves.
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.722Z] of how to use transforms.
[2024-06-23T21:30:37.722Z] """
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.722Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.722Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] import copy
[2024-06-23T21:30:37.722Z] import functools
[2024-06-23T21:30:37.722Z] import textwrap
[2024-06-23T21:30:37.722Z] import weakref
[2024-06-23T21:30:37.722Z] import math
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] import numpy as np
[2024-06-23T21:30:37.722Z] from numpy.linalg import inv
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] from matplotlib import _api
[2024-06-23T21:30:37.722Z] > from matplotlib._path import (
[2024-06-23T21:30:37.722Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.722Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.722Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.722Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.722Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.722Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.722Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.722Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.722Z]
[2024-06-23T21:30:37.722Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.722Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.722Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.722Z] code = main()
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.722Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.722Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.722Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.722Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.722Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.722Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.722Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.722Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.722Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.722Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.722Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.722Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.722Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.722Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.722Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.722Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.722Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.722Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.722Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.722Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.722Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.722Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.722Z] item.runtest()
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.722Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.722Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.722Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.722Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.723Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.723Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.723Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 447, in test_filled_random_no_corner_mask_chunk
[2024-06-23T21:30:37.723Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.723Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.723Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.723Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.723Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.723Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.723Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.723Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.723Z] from matplotlib._path import (
[2024-06-23T21:30:37.723Z] Traceback (most recent call last):
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.723Z] raise ImportError(msg)
[2024-06-23T21:30:37.723Z] ImportError:
[2024-06-23T21:30:37.723Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.723Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.723Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.723Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.723Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.723Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] ______ test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedCode] _______
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] name = 'serial', fill_type = <FillType.ChunkCombinedCode: 203>
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] @pytest.mark.image
[2024-06-23T21:30:37.723Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.723Z] def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.723Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] tests/test_filled.py:447:
[2024-06-23T21:30:37.723Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.723Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.723Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.723Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.723Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.723Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.723Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.723Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.723Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.723Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.723Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.723Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.723Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.723Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] """
[2024-06-23T21:30:37.723Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.723Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.723Z] elements drawn on the canvas.
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.723Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.723Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.723Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.723Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.723Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.723Z] interactive performance.
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.723Z] to the graph:
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.723Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.723Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.723Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.723Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.723Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.723Z] themselves.
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.723Z] of how to use transforms.
[2024-06-23T21:30:37.723Z] """
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.723Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.723Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] import copy
[2024-06-23T21:30:37.723Z] import functools
[2024-06-23T21:30:37.723Z] import textwrap
[2024-06-23T21:30:37.723Z] import weakref
[2024-06-23T21:30:37.723Z] import math
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] import numpy as np
[2024-06-23T21:30:37.723Z] from numpy.linalg import inv
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] from matplotlib import _api
[2024-06-23T21:30:37.723Z] > from matplotlib._path import (
[2024-06-23T21:30:37.723Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.723Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.723Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.723Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.723Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.723Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.723Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.723Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.723Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.723Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.723Z] code = main()
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.723Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.723Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.723Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.723Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.723Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.723Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.723Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.723Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.723Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.723Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.723Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.723Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.723Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.723Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.723Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.723Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.723Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.723Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.723Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.723Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.723Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.723Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.723Z] item.runtest()
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.723Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.723Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.723Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.723Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.723Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.723Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 447, in test_filled_random_no_corner_mask_chunk
[2024-06-23T21:30:37.723Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.723Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.723Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.723Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.723Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.723Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.723Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.723Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.723Z] from matplotlib._path import (
[2024-06-23T21:30:37.723Z] Traceback (most recent call last):
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.723Z] raise ImportError(msg)
[2024-06-23T21:30:37.723Z] ImportError:
[2024-06-23T21:30:37.723Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.723Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.723Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.723Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.723Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.723Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] _____ test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedOffset] ______
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] name = 'serial', fill_type = <FillType.ChunkCombinedOffset: 204>
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] @pytest.mark.image
[2024-06-23T21:30:37.723Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.723Z] def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.723Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] tests/test_filled.py:447:
[2024-06-23T21:30:37.723Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.723Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.723Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.723Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.723Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.723Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.723Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.723Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.723Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.723Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.723Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.723Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.723Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.723Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] """
[2024-06-23T21:30:37.723Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.723Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.723Z] elements drawn on the canvas.
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.723Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.723Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.723Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.723Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.723Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.723Z] interactive performance.
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.723Z] to the graph:
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.723Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.723Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.723Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.723Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.723Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.723Z] themselves.
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.723Z] of how to use transforms.
[2024-06-23T21:30:37.723Z] """
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.723Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.723Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] import copy
[2024-06-23T21:30:37.723Z] import functools
[2024-06-23T21:30:37.723Z] import textwrap
[2024-06-23T21:30:37.723Z] import weakref
[2024-06-23T21:30:37.723Z] import math
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] import numpy as np
[2024-06-23T21:30:37.723Z] from numpy.linalg import inv
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] from matplotlib import _api
[2024-06-23T21:30:37.723Z] > from matplotlib._path import (
[2024-06-23T21:30:37.723Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.723Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.723Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.723Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.723Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.723Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.723Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.723Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.723Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.723Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.723Z] code = main()
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.723Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.723Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.723Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.723Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.723Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.723Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.723Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.723Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.723Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.723Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.723Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.723Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.723Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.723Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.723Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.723Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.723Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.723Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.723Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.723Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.723Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.723Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.723Z] item.runtest()
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.723Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.723Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.723Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.723Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.723Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.723Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 447, in test_filled_random_no_corner_mask_chunk
[2024-06-23T21:30:37.723Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.723Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.723Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.723Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.723Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.723Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.723Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.723Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.723Z] from matplotlib._path import (
[2024-06-23T21:30:37.723Z] Traceback (most recent call last):
[2024-06-23T21:30:37.723Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.723Z] raise ImportError(msg)
[2024-06-23T21:30:37.723Z] ImportError:
[2024-06-23T21:30:37.723Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.723Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.723Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.723Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.723Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.723Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] ___ test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedCodeOffset] ____
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] name = 'serial', fill_type = <FillType.ChunkCombinedCodeOffset: 205>
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] @pytest.mark.image
[2024-06-23T21:30:37.723Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.723Z] def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.723Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.723Z]
[2024-06-23T21:30:37.723Z] tests/test_filled.py:447:
[2024-06-23T21:30:37.723Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.723Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.723Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.723Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.723Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.723Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.723Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.723Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.723Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.724Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.724Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.724Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.724Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.724Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] """
[2024-06-23T21:30:37.724Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.724Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.724Z] elements drawn on the canvas.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.724Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.724Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.724Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.724Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.724Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.724Z] interactive performance.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.724Z] to the graph:
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.724Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.724Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.724Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.724Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.724Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.724Z] themselves.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.724Z] of how to use transforms.
[2024-06-23T21:30:37.724Z] """
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.724Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.724Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] import copy
[2024-06-23T21:30:37.724Z] import functools
[2024-06-23T21:30:37.724Z] import textwrap
[2024-06-23T21:30:37.724Z] import weakref
[2024-06-23T21:30:37.724Z] import math
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] import numpy as np
[2024-06-23T21:30:37.724Z] from numpy.linalg import inv
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] from matplotlib import _api
[2024-06-23T21:30:37.724Z] > from matplotlib._path import (
[2024-06-23T21:30:37.724Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.724Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.724Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.724Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.724Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.724Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.724Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.724Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.724Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.724Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.724Z] code = main()
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.724Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.724Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.724Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.724Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.724Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.724Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.724Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.724Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.724Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.724Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.724Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.724Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.724Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.724Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.724Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.724Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.724Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.724Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.724Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.724Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.724Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.724Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.724Z] item.runtest()
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.724Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.724Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.724Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.724Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.724Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.724Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 447, in test_filled_random_no_corner_mask_chunk
[2024-06-23T21:30:37.724Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.724Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.724Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.724Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.724Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.724Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.724Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.724Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.724Z] from matplotlib._path import (
[2024-06-23T21:30:37.724Z] Traceback (most recent call last):
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.724Z] raise ImportError(msg)
[2024-06-23T21:30:37.724Z] ImportError:
[2024-06-23T21:30:37.724Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.724Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.724Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.724Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.724Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.724Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] __ test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedOffsetOffset] ___
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] name = 'serial', fill_type = <FillType.ChunkCombinedOffsetOffset: 206>
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] @pytest.mark.image
[2024-06-23T21:30:37.724Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.724Z] def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.724Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] tests/test_filled.py:447:
[2024-06-23T21:30:37.724Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.724Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.724Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.724Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.724Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.724Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.724Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.724Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.724Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.724Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.724Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.724Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.724Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.724Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] """
[2024-06-23T21:30:37.724Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.724Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.724Z] elements drawn on the canvas.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.724Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.724Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.724Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.724Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.724Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.724Z] interactive performance.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.724Z] to the graph:
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.724Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.724Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.724Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.724Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.724Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.724Z] themselves.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.724Z] of how to use transforms.
[2024-06-23T21:30:37.724Z] """
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.724Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.724Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] import copy
[2024-06-23T21:30:37.724Z] import functools
[2024-06-23T21:30:37.724Z] import textwrap
[2024-06-23T21:30:37.724Z] import weakref
[2024-06-23T21:30:37.724Z] import math
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] import numpy as np
[2024-06-23T21:30:37.724Z] from numpy.linalg import inv
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] from matplotlib import _api
[2024-06-23T21:30:37.724Z] > from matplotlib._path import (
[2024-06-23T21:30:37.724Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.724Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.724Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.724Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.724Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.724Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.724Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.724Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.724Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.724Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.724Z] code = main()
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.724Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.724Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.724Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.724Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.724Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.724Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.724Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.724Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.724Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.724Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.724Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.724Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.724Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.724Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.724Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.724Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.724Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.724Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.724Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.724Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.724Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.724Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.724Z] item.runtest()
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.724Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.724Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.724Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.724Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.724Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.724Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 447, in test_filled_random_no_corner_mask_chunk
[2024-06-23T21:30:37.724Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.724Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.724Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.724Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.724Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.724Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.724Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.724Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.724Z] from matplotlib._path import (
[2024-06-23T21:30:37.724Z] Traceback (most recent call last):
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.724Z] raise ImportError(msg)
[2024-06-23T21:30:37.724Z] ImportError:
[2024-06-23T21:30:37.724Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.724Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.724Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.724Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.724Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.724Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] _________ test_filled_random_no_corner_mask_chunk[threaded-OuterCode] __________
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] name = 'threaded', fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] @pytest.mark.image
[2024-06-23T21:30:37.724Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.724Z] def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.724Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] tests/test_filled.py:447:
[2024-06-23T21:30:37.724Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.724Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.724Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.724Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.724Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.724Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.724Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.724Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.724Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.724Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.724Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.724Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.724Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.724Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] """
[2024-06-23T21:30:37.724Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.724Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.724Z] elements drawn on the canvas.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.724Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.724Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.724Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.724Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.724Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.724Z] interactive performance.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.724Z] to the graph:
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.724Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.724Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.724Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.724Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.724Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.724Z] themselves.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.724Z] of how to use transforms.
[2024-06-23T21:30:37.724Z] """
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.724Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.724Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] import copy
[2024-06-23T21:30:37.724Z] import functools
[2024-06-23T21:30:37.724Z] import textwrap
[2024-06-23T21:30:37.724Z] import weakref
[2024-06-23T21:30:37.724Z] import math
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] import numpy as np
[2024-06-23T21:30:37.724Z] from numpy.linalg import inv
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] from matplotlib import _api
[2024-06-23T21:30:37.724Z] > from matplotlib._path import (
[2024-06-23T21:30:37.724Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.724Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.724Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.724Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.724Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.724Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.724Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.724Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.724Z]
[2024-06-23T21:30:37.724Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.724Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.724Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.724Z] code = main()
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.724Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.724Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.725Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.725Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.725Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.725Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.725Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.725Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.725Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.725Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.725Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.725Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.725Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.725Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.725Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.725Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.725Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.725Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.725Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.725Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.725Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.725Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.725Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.725Z] item.runtest()
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.725Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.725Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.725Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.725Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.725Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.725Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 447, in test_filled_random_no_corner_mask_chunk
[2024-06-23T21:30:37.725Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.725Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.725Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.725Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.725Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.725Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.725Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.725Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.725Z] from matplotlib._path import (
[2024-06-23T21:30:37.725Z] Traceback (most recent call last):
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.725Z] raise ImportError(msg)
[2024-06-23T21:30:37.725Z] ImportError:
[2024-06-23T21:30:37.725Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.725Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.725Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.725Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.725Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.725Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] ________ test_filled_random_no_corner_mask_chunk[threaded-OuterOffset] _________
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] name = 'threaded', fill_type = <FillType.OuterOffset: 202>
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] @pytest.mark.image
[2024-06-23T21:30:37.725Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.725Z] def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.725Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] tests/test_filled.py:447:
[2024-06-23T21:30:37.725Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.725Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.725Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.725Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.725Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.725Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.725Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.725Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.725Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.725Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.725Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.725Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.725Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.725Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] """
[2024-06-23T21:30:37.725Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.725Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.725Z] elements drawn on the canvas.
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.725Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.725Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.725Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.725Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.725Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.725Z] interactive performance.
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.725Z] to the graph:
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.725Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.725Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.725Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.725Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.725Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.725Z] themselves.
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.725Z] of how to use transforms.
[2024-06-23T21:30:37.725Z] """
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.725Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.725Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] import copy
[2024-06-23T21:30:37.725Z] import functools
[2024-06-23T21:30:37.725Z] import textwrap
[2024-06-23T21:30:37.725Z] import weakref
[2024-06-23T21:30:37.725Z] import math
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] import numpy as np
[2024-06-23T21:30:37.725Z] from numpy.linalg import inv
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] from matplotlib import _api
[2024-06-23T21:30:37.725Z] > from matplotlib._path import (
[2024-06-23T21:30:37.725Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.725Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.725Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.725Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.725Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.725Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.725Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.725Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.725Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.725Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.725Z] code = main()
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.725Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.725Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.725Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.725Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.725Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.725Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.725Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.725Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.725Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.725Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.725Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.725Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.725Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.725Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.725Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.725Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.725Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.725Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.725Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.725Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.725Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.725Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.725Z] item.runtest()
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.725Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.725Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.725Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.725Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.725Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.725Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 447, in test_filled_random_no_corner_mask_chunk
[2024-06-23T21:30:37.725Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.725Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.725Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.725Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.725Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.725Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.725Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.725Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.725Z] from matplotlib._path import (
[2024-06-23T21:30:37.725Z] Traceback (most recent call last):
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.725Z] raise ImportError(msg)
[2024-06-23T21:30:37.725Z] ImportError:
[2024-06-23T21:30:37.725Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.725Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.725Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.725Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.725Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.725Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] _____ test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedCode] ______
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] name = 'threaded', fill_type = <FillType.ChunkCombinedCode: 203>
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] @pytest.mark.image
[2024-06-23T21:30:37.725Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.725Z] def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.725Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] tests/test_filled.py:447:
[2024-06-23T21:30:37.725Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.725Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.725Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.725Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.725Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.725Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.725Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.725Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.725Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.725Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.725Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.725Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.725Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.725Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] """
[2024-06-23T21:30:37.725Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.725Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.725Z] elements drawn on the canvas.
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.725Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.725Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.725Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.725Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.725Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.725Z] interactive performance.
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.725Z] to the graph:
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.725Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.725Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.725Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.725Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.725Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.725Z] themselves.
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.725Z] of how to use transforms.
[2024-06-23T21:30:37.725Z] """
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.725Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.725Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] import copy
[2024-06-23T21:30:37.725Z] import functools
[2024-06-23T21:30:37.725Z] import textwrap
[2024-06-23T21:30:37.725Z] import weakref
[2024-06-23T21:30:37.725Z] import math
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] import numpy as np
[2024-06-23T21:30:37.725Z] from numpy.linalg import inv
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] from matplotlib import _api
[2024-06-23T21:30:37.725Z] > from matplotlib._path import (
[2024-06-23T21:30:37.725Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.725Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.725Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.725Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.725Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.725Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.725Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.725Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.725Z]
[2024-06-23T21:30:37.725Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.725Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.725Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.725Z] code = main()
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.725Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.725Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.725Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.725Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.725Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.725Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.725Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.725Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.725Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.725Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.725Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.725Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.725Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.725Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.725Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.725Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.725Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.725Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.725Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.725Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.725Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.725Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.725Z] item.runtest()
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.725Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.725Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.725Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.726Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.726Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.726Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.726Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 447, in test_filled_random_no_corner_mask_chunk
[2024-06-23T21:30:37.726Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.726Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.726Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.726Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.726Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.726Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.726Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.726Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.726Z] from matplotlib._path import (
[2024-06-23T21:30:37.726Z] Traceback (most recent call last):
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.726Z] raise ImportError(msg)
[2024-06-23T21:30:37.726Z] ImportError:
[2024-06-23T21:30:37.726Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.726Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.726Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.726Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.726Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.726Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] ____ test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedOffset] _____
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] name = 'threaded', fill_type = <FillType.ChunkCombinedOffset: 204>
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] @pytest.mark.image
[2024-06-23T21:30:37.726Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.726Z] def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.726Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] tests/test_filled.py:447:
[2024-06-23T21:30:37.726Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.726Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.726Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.726Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.726Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.726Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.726Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.726Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.726Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.726Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.726Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.726Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.726Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.726Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] """
[2024-06-23T21:30:37.726Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.726Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.726Z] elements drawn on the canvas.
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.726Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.726Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.726Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.726Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.726Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.726Z] interactive performance.
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.726Z] to the graph:
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.726Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.726Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.726Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.726Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.726Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.726Z] themselves.
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.726Z] of how to use transforms.
[2024-06-23T21:30:37.726Z] """
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.726Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.726Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] import copy
[2024-06-23T21:30:37.726Z] import functools
[2024-06-23T21:30:37.726Z] import textwrap
[2024-06-23T21:30:37.726Z] import weakref
[2024-06-23T21:30:37.726Z] import math
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] import numpy as np
[2024-06-23T21:30:37.726Z] from numpy.linalg import inv
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] from matplotlib import _api
[2024-06-23T21:30:37.726Z] > from matplotlib._path import (
[2024-06-23T21:30:37.726Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.726Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.726Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.726Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.726Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.726Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.726Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.726Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.726Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.726Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.726Z] code = main()
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.726Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.726Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.726Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.726Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.726Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.726Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.726Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.726Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.726Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.726Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.726Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.726Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.726Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.726Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.726Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.726Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.726Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.726Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.726Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.726Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.726Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.726Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.726Z] item.runtest()
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.726Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.726Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.726Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.726Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.726Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.726Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 447, in test_filled_random_no_corner_mask_chunk
[2024-06-23T21:30:37.726Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.726Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.726Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.726Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.726Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.726Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.726Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.726Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.726Z] from matplotlib._path import (
[2024-06-23T21:30:37.726Z] Traceback (most recent call last):
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.726Z] raise ImportError(msg)
[2024-06-23T21:30:37.726Z] ImportError:
[2024-06-23T21:30:37.726Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.726Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.726Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.726Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.726Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.726Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] __ test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedCodeOffset] ___
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] name = 'threaded', fill_type = <FillType.ChunkCombinedCodeOffset: 205>
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] @pytest.mark.image
[2024-06-23T21:30:37.726Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.726Z] def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.726Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] tests/test_filled.py:447:
[2024-06-23T21:30:37.726Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.726Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.726Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.726Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.726Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.726Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.726Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.726Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.726Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.726Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.726Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.726Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.726Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.726Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] """
[2024-06-23T21:30:37.726Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.726Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.726Z] elements drawn on the canvas.
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.726Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.726Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.726Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.726Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.726Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.726Z] interactive performance.
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.726Z] to the graph:
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.726Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.726Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.726Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.726Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.726Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.726Z] themselves.
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.726Z] of how to use transforms.
[2024-06-23T21:30:37.726Z] """
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.726Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.726Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] import copy
[2024-06-23T21:30:37.726Z] import functools
[2024-06-23T21:30:37.726Z] import textwrap
[2024-06-23T21:30:37.726Z] import weakref
[2024-06-23T21:30:37.726Z] import math
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] import numpy as np
[2024-06-23T21:30:37.726Z] from numpy.linalg import inv
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] from matplotlib import _api
[2024-06-23T21:30:37.726Z] > from matplotlib._path import (
[2024-06-23T21:30:37.726Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.726Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.726Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.726Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.726Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.726Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.726Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.726Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.726Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.726Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.726Z] code = main()
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.726Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.726Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.726Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.726Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.726Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.726Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.726Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.726Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.726Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.726Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.726Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.726Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.726Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.726Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.726Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.726Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.726Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.726Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.726Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.726Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.726Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.726Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.726Z] item.runtest()
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.726Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.726Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.726Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.726Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.726Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.726Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 447, in test_filled_random_no_corner_mask_chunk
[2024-06-23T21:30:37.726Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.726Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.726Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.726Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.726Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.726Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.726Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.726Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.726Z] from matplotlib._path import (
[2024-06-23T21:30:37.726Z] Traceback (most recent call last):
[2024-06-23T21:30:37.726Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.726Z] raise ImportError(msg)
[2024-06-23T21:30:37.726Z] ImportError:
[2024-06-23T21:30:37.726Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.726Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.726Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.726Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.726Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.726Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] _ test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedOffsetOffset] __
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] name = 'threaded', fill_type = <FillType.ChunkCombinedOffsetOffset: 206>
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] @pytest.mark.image
[2024-06-23T21:30:37.726Z] @pytest.mark.parametrize("name, fill_type", util_test.all_names_and_fill_types())
[2024-06-23T21:30:37.726Z] def test_filled_random_no_corner_mask_chunk(name: str, fill_type: FillType) -> None:
[2024-06-23T21:30:37.726Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.726Z]
[2024-06-23T21:30:37.726Z] tests/test_filled.py:447:
[2024-06-23T21:30:37.726Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.726Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.726Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.726Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.726Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.726Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.726Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.727Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.727Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.727Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.727Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.727Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.727Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.727Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] """
[2024-06-23T21:30:37.727Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.727Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.727Z] elements drawn on the canvas.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.727Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.727Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.727Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.727Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.727Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.727Z] interactive performance.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.727Z] to the graph:
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.727Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.727Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.727Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.727Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.727Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.727Z] themselves.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.727Z] of how to use transforms.
[2024-06-23T21:30:37.727Z] """
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.727Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.727Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] import copy
[2024-06-23T21:30:37.727Z] import functools
[2024-06-23T21:30:37.727Z] import textwrap
[2024-06-23T21:30:37.727Z] import weakref
[2024-06-23T21:30:37.727Z] import math
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] import numpy as np
[2024-06-23T21:30:37.727Z] from numpy.linalg import inv
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] from matplotlib import _api
[2024-06-23T21:30:37.727Z] > from matplotlib._path import (
[2024-06-23T21:30:37.727Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.727Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.727Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.727Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.727Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.727Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.727Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.727Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.727Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.727Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.727Z] code = main()
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.727Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.727Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.727Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.727Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.727Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.727Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.727Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.727Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.727Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.727Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.727Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.727Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.727Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.727Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.727Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.727Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.727Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.727Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.727Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.727Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.727Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.727Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.727Z] item.runtest()
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.727Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.727Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.727Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.727Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.727Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.727Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 447, in test_filled_random_no_corner_mask_chunk
[2024-06-23T21:30:37.727Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.727Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.727Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.727Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.727Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.727Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.727Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.727Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.727Z] from matplotlib._path import (
[2024-06-23T21:30:37.727Z] Traceback (most recent call last):
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.727Z] raise ImportError(msg)
[2024-06-23T21:30:37.727Z] ImportError:
[2024-06-23T21:30:37.727Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.727Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.727Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.727Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.727Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.727Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] _________ test_filled_random_no_corner_mask_chunk_threads[2-OuterCode] _________
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] fill_type = <FillType.OuterCode: 201>, thread_count = 2
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] @pytest.mark.image
[2024-06-23T21:30:37.727Z] @pytest.mark.threads
[2024-06-23T21:30:37.727Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.727Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.727Z] def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.727Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] tests/test_filled.py:490:
[2024-06-23T21:30:37.727Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.727Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.727Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.727Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.727Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.727Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.727Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.727Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.727Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.727Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.727Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.727Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.727Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.727Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] """
[2024-06-23T21:30:37.727Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.727Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.727Z] elements drawn on the canvas.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.727Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.727Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.727Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.727Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.727Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.727Z] interactive performance.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.727Z] to the graph:
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.727Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.727Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.727Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.727Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.727Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.727Z] themselves.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.727Z] of how to use transforms.
[2024-06-23T21:30:37.727Z] """
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.727Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.727Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] import copy
[2024-06-23T21:30:37.727Z] import functools
[2024-06-23T21:30:37.727Z] import textwrap
[2024-06-23T21:30:37.727Z] import weakref
[2024-06-23T21:30:37.727Z] import math
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] import numpy as np
[2024-06-23T21:30:37.727Z] from numpy.linalg import inv
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] from matplotlib import _api
[2024-06-23T21:30:37.727Z] > from matplotlib._path import (
[2024-06-23T21:30:37.727Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.727Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.727Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.727Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.727Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.727Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.727Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.727Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.727Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.727Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.727Z] code = main()
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.727Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.727Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.727Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.727Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.727Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.727Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.727Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.727Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.727Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.727Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.727Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.727Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.727Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.727Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.727Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.727Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.727Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.727Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.727Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.727Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.727Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.727Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.727Z] item.runtest()
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.727Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.727Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.727Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.727Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.727Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.727Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 490, in test_filled_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.727Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.727Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.727Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.727Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.727Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.727Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.727Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.727Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.727Z] from matplotlib._path import (
[2024-06-23T21:30:37.727Z] Traceback (most recent call last):
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.727Z] raise ImportError(msg)
[2024-06-23T21:30:37.727Z] ImportError:
[2024-06-23T21:30:37.727Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.727Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.727Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.727Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.727Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.727Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] ________ test_filled_random_no_corner_mask_chunk_threads[2-OuterOffset] ________
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] fill_type = <FillType.OuterOffset: 202>, thread_count = 2
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] @pytest.mark.image
[2024-06-23T21:30:37.727Z] @pytest.mark.threads
[2024-06-23T21:30:37.727Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.727Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.727Z] def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.727Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] tests/test_filled.py:490:
[2024-06-23T21:30:37.727Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.727Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.727Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.727Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.727Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.727Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.727Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.727Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.727Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.727Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.727Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.727Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.727Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.727Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] """
[2024-06-23T21:30:37.727Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.727Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.727Z] elements drawn on the canvas.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.727Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.727Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.727Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.727Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.727Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.727Z] interactive performance.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.727Z] to the graph:
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.727Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.727Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.727Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.727Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.727Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.727Z] themselves.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.727Z] of how to use transforms.
[2024-06-23T21:30:37.727Z] """
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.727Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.727Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] import copy
[2024-06-23T21:30:37.727Z] import functools
[2024-06-23T21:30:37.727Z] import textwrap
[2024-06-23T21:30:37.727Z] import weakref
[2024-06-23T21:30:37.727Z] import math
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] import numpy as np
[2024-06-23T21:30:37.727Z] from numpy.linalg import inv
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] from matplotlib import _api
[2024-06-23T21:30:37.727Z] > from matplotlib._path import (
[2024-06-23T21:30:37.727Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.727Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.727Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.727Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.727Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.727Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.727Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.727Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.727Z]
[2024-06-23T21:30:37.727Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.727Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.727Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.727Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.728Z] code = main()
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.728Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.728Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.728Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.728Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.728Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.728Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.728Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.728Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.728Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.728Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.728Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.728Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.728Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.728Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.728Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.728Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.728Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.728Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.728Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.728Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.728Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.728Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.728Z] item.runtest()
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.728Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.728Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.728Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.728Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.728Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.728Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 490, in test_filled_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.728Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.728Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.728Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.728Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.728Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.728Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.728Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.728Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.728Z] from matplotlib._path import (
[2024-06-23T21:30:37.728Z] Traceback (most recent call last):
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.728Z] raise ImportError(msg)
[2024-06-23T21:30:37.728Z] ImportError:
[2024-06-23T21:30:37.728Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.728Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.728Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.728Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.728Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.728Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] _____ test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedCode] _____
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] fill_type = <FillType.ChunkCombinedCode: 203>, thread_count = 2
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] @pytest.mark.image
[2024-06-23T21:30:37.728Z] @pytest.mark.threads
[2024-06-23T21:30:37.728Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.728Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.728Z] def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.728Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] tests/test_filled.py:490:
[2024-06-23T21:30:37.728Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.728Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.728Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.728Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.728Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.728Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.728Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.728Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.728Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.728Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.728Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.728Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.728Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.728Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] """
[2024-06-23T21:30:37.728Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.728Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.728Z] elements drawn on the canvas.
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.728Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.728Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.728Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.728Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.728Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.728Z] interactive performance.
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.728Z] to the graph:
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.728Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.728Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.728Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.728Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.728Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.728Z] themselves.
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.728Z] of how to use transforms.
[2024-06-23T21:30:37.728Z] """
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.728Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.728Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] import copy
[2024-06-23T21:30:37.728Z] import functools
[2024-06-23T21:30:37.728Z] import textwrap
[2024-06-23T21:30:37.728Z] import weakref
[2024-06-23T21:30:37.728Z] import math
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] import numpy as np
[2024-06-23T21:30:37.728Z] from numpy.linalg import inv
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] from matplotlib import _api
[2024-06-23T21:30:37.728Z] > from matplotlib._path import (
[2024-06-23T21:30:37.728Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.728Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.728Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.728Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.728Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.728Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.728Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.728Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.728Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.728Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.728Z] code = main()
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.728Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.728Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.728Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.728Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.728Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.728Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.728Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.728Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.728Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.728Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.728Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.728Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.728Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.728Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.728Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.728Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.728Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.728Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.728Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.728Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.728Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.728Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.728Z] item.runtest()
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.728Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.728Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.728Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.728Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.728Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.728Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 490, in test_filled_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.728Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.728Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.728Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.728Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.728Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.728Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.728Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.728Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.728Z] from matplotlib._path import (
[2024-06-23T21:30:37.728Z] Traceback (most recent call last):
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.728Z] raise ImportError(msg)
[2024-06-23T21:30:37.728Z] ImportError:
[2024-06-23T21:30:37.728Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.728Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.728Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.728Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.728Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.728Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] ____ test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] ____
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] fill_type = <FillType.ChunkCombinedOffset: 204>, thread_count = 2
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] @pytest.mark.image
[2024-06-23T21:30:37.728Z] @pytest.mark.threads
[2024-06-23T21:30:37.728Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.728Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.728Z] def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.728Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] tests/test_filled.py:490:
[2024-06-23T21:30:37.728Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.728Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.728Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.728Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.728Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.728Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.728Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.728Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.728Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.728Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.728Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.728Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.728Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.728Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] """
[2024-06-23T21:30:37.728Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.728Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.728Z] elements drawn on the canvas.
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.728Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.728Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.728Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.728Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.728Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.728Z] interactive performance.
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.728Z] to the graph:
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.728Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.728Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.728Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.728Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.728Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.728Z] themselves.
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.728Z] of how to use transforms.
[2024-06-23T21:30:37.728Z] """
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.728Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.728Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] import copy
[2024-06-23T21:30:37.728Z] import functools
[2024-06-23T21:30:37.728Z] import textwrap
[2024-06-23T21:30:37.728Z] import weakref
[2024-06-23T21:30:37.728Z] import math
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] import numpy as np
[2024-06-23T21:30:37.728Z] from numpy.linalg import inv
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] from matplotlib import _api
[2024-06-23T21:30:37.728Z] > from matplotlib._path import (
[2024-06-23T21:30:37.728Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.728Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.728Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.728Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.728Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.728Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.728Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.728Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.728Z]
[2024-06-23T21:30:37.728Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.728Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.728Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.728Z] code = main()
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.728Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.728Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.728Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.728Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.728Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.728Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.728Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.728Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.728Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.728Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.728Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.728Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.728Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.728Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.728Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.728Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.728Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.728Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.728Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.728Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.728Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.729Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.729Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.729Z] item.runtest()
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.729Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.729Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.729Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.729Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.729Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.729Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 490, in test_filled_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.729Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.729Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.729Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.729Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.729Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.729Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.729Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.729Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.729Z] from matplotlib._path import (
[2024-06-23T21:30:37.729Z] Traceback (most recent call last):
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.729Z] raise ImportError(msg)
[2024-06-23T21:30:37.729Z] ImportError:
[2024-06-23T21:30:37.729Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.729Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.729Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.729Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.729Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.729Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] __ test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] __
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] fill_type = <FillType.ChunkCombinedCodeOffset: 205>, thread_count = 2
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] @pytest.mark.image
[2024-06-23T21:30:37.729Z] @pytest.mark.threads
[2024-06-23T21:30:37.729Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.729Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.729Z] def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.729Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] tests/test_filled.py:490:
[2024-06-23T21:30:37.729Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.729Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.729Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.729Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.729Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.729Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.729Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.729Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.729Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.729Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.729Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.729Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.729Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.729Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] """
[2024-06-23T21:30:37.729Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.729Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.729Z] elements drawn on the canvas.
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.729Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.729Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.729Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.729Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.729Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.729Z] interactive performance.
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.729Z] to the graph:
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.729Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.729Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.729Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.729Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.729Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.729Z] themselves.
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.729Z] of how to use transforms.
[2024-06-23T21:30:37.729Z] """
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.729Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.729Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] import copy
[2024-06-23T21:30:37.729Z] import functools
[2024-06-23T21:30:37.729Z] import textwrap
[2024-06-23T21:30:37.729Z] import weakref
[2024-06-23T21:30:37.729Z] import math
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] import numpy as np
[2024-06-23T21:30:37.729Z] from numpy.linalg import inv
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] from matplotlib import _api
[2024-06-23T21:30:37.729Z] > from matplotlib._path import (
[2024-06-23T21:30:37.729Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.729Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.729Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.729Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.729Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.729Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.729Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.729Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.729Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.729Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.729Z] code = main()
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.729Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.729Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.729Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.729Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.729Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.729Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.729Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.729Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.729Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.729Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.729Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.729Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.729Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.729Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.729Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.729Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.729Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.729Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.729Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.729Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.729Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.729Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.729Z] item.runtest()
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.729Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.729Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.729Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.729Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.729Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.729Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 490, in test_filled_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.729Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.729Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.729Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.729Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.729Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.729Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.729Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.729Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.729Z] from matplotlib._path import (
[2024-06-23T21:30:37.729Z] Traceback (most recent call last):
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.729Z] raise ImportError(msg)
[2024-06-23T21:30:37.729Z] ImportError:
[2024-06-23T21:30:37.729Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.729Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.729Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.729Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.729Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.729Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] _ test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] _
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] fill_type = <FillType.ChunkCombinedOffsetOffset: 206>, thread_count = 2
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] @pytest.mark.image
[2024-06-23T21:30:37.729Z] @pytest.mark.threads
[2024-06-23T21:30:37.729Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.729Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.729Z] def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.729Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] tests/test_filled.py:490:
[2024-06-23T21:30:37.729Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.729Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.729Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.729Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.729Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.729Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.729Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.729Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.729Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.729Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.729Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.729Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.729Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.729Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] """
[2024-06-23T21:30:37.729Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.729Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.729Z] elements drawn on the canvas.
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.729Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.729Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.729Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.729Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.729Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.729Z] interactive performance.
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.729Z] to the graph:
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.729Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.729Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.729Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.729Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.729Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.729Z] themselves.
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.729Z] of how to use transforms.
[2024-06-23T21:30:37.729Z] """
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.729Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.729Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] import copy
[2024-06-23T21:30:37.729Z] import functools
[2024-06-23T21:30:37.729Z] import textwrap
[2024-06-23T21:30:37.729Z] import weakref
[2024-06-23T21:30:37.729Z] import math
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] import numpy as np
[2024-06-23T21:30:37.729Z] from numpy.linalg import inv
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] from matplotlib import _api
[2024-06-23T21:30:37.729Z] > from matplotlib._path import (
[2024-06-23T21:30:37.729Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.729Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.729Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.729Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.729Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.729Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.729Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.729Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.729Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.729Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.729Z] code = main()
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.729Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.729Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.729Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.729Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.729Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.729Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.729Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.729Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.729Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.729Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.729Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.729Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.729Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.729Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.729Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.729Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.729Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.729Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.729Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.729Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.729Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.729Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.729Z] item.runtest()
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.729Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.729Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.729Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.729Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.729Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.729Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 490, in test_filled_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.729Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.729Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.729Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.729Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.729Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.729Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.729Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.729Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.729Z] from matplotlib._path import (
[2024-06-23T21:30:37.729Z] Traceback (most recent call last):
[2024-06-23T21:30:37.729Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.729Z] raise ImportError(msg)
[2024-06-23T21:30:37.729Z] ImportError:
[2024-06-23T21:30:37.729Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.729Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.729Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.729Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.729Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.729Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] _________ test_filled_random_no_corner_mask_chunk_threads[3-OuterCode] _________
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] fill_type = <FillType.OuterCode: 201>, thread_count = 3
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] @pytest.mark.image
[2024-06-23T21:30:37.729Z] @pytest.mark.threads
[2024-06-23T21:30:37.729Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.729Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.729Z] def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.729Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.729Z]
[2024-06-23T21:30:37.729Z] tests/test_filled.py:490:
[2024-06-23T21:30:37.729Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.729Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.729Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.729Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.729Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.729Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.729Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.730Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.730Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.730Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.730Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.730Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.730Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.730Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] """
[2024-06-23T21:30:37.730Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.730Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.730Z] elements drawn on the canvas.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.730Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.730Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.730Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.730Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.730Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.730Z] interactive performance.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.730Z] to the graph:
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.730Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.730Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.730Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.730Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.730Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.730Z] themselves.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.730Z] of how to use transforms.
[2024-06-23T21:30:37.730Z] """
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.730Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.730Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] import copy
[2024-06-23T21:30:37.730Z] import functools
[2024-06-23T21:30:37.730Z] import textwrap
[2024-06-23T21:30:37.730Z] import weakref
[2024-06-23T21:30:37.730Z] import math
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] import numpy as np
[2024-06-23T21:30:37.730Z] from numpy.linalg import inv
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] from matplotlib import _api
[2024-06-23T21:30:37.730Z] > from matplotlib._path import (
[2024-06-23T21:30:37.730Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.730Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.730Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.730Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.730Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.730Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.730Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.730Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.730Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.730Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.730Z] code = main()
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.730Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.730Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.730Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.730Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.730Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.730Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.730Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.730Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.730Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.730Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.730Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.730Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.730Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.730Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.730Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.730Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.730Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.730Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.730Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.730Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.730Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.730Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.730Z] item.runtest()
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.730Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.730Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.730Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.730Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.730Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.730Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 490, in test_filled_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.730Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.730Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.730Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.730Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.730Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.730Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.730Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.730Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.730Z] from matplotlib._path import (
[2024-06-23T21:30:37.730Z] Traceback (most recent call last):
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.730Z] raise ImportError(msg)
[2024-06-23T21:30:37.730Z] ImportError:
[2024-06-23T21:30:37.730Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.730Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.730Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.730Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.730Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.730Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] ________ test_filled_random_no_corner_mask_chunk_threads[3-OuterOffset] ________
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] fill_type = <FillType.OuterOffset: 202>, thread_count = 3
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] @pytest.mark.image
[2024-06-23T21:30:37.730Z] @pytest.mark.threads
[2024-06-23T21:30:37.730Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.730Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.730Z] def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.730Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] tests/test_filled.py:490:
[2024-06-23T21:30:37.730Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.730Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.730Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.730Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.730Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.730Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.730Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.730Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.730Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.730Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.730Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.730Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.730Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.730Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] """
[2024-06-23T21:30:37.730Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.730Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.730Z] elements drawn on the canvas.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.730Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.730Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.730Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.730Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.730Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.730Z] interactive performance.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.730Z] to the graph:
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.730Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.730Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.730Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.730Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.730Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.730Z] themselves.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.730Z] of how to use transforms.
[2024-06-23T21:30:37.730Z] """
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.730Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.730Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] import copy
[2024-06-23T21:30:37.730Z] import functools
[2024-06-23T21:30:37.730Z] import textwrap
[2024-06-23T21:30:37.730Z] import weakref
[2024-06-23T21:30:37.730Z] import math
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] import numpy as np
[2024-06-23T21:30:37.730Z] from numpy.linalg import inv
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] from matplotlib import _api
[2024-06-23T21:30:37.730Z] > from matplotlib._path import (
[2024-06-23T21:30:37.730Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.730Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.730Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.730Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.730Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.730Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.730Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.730Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.730Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.730Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.730Z] code = main()
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.730Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.730Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.730Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.730Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.730Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.730Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.730Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.730Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.730Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.730Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.730Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.730Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.730Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.730Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.730Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.730Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.730Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.730Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.730Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.730Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.730Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.730Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.730Z] item.runtest()
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.730Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.730Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.730Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.730Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.730Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.730Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 490, in test_filled_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.730Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.730Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.730Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.730Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.730Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.730Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.730Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.730Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.730Z] from matplotlib._path import (
[2024-06-23T21:30:37.730Z] Traceback (most recent call last):
[2024-06-23T21:30:37.730Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.730Z] raise ImportError(msg)
[2024-06-23T21:30:37.730Z] ImportError:
[2024-06-23T21:30:37.730Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.730Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.730Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.730Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.730Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.730Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] _____ test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedCode] _____
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] fill_type = <FillType.ChunkCombinedCode: 203>, thread_count = 3
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] @pytest.mark.image
[2024-06-23T21:30:37.730Z] @pytest.mark.threads
[2024-06-23T21:30:37.730Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.730Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.730Z] def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.730Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] tests/test_filled.py:490:
[2024-06-23T21:30:37.730Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.730Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.730Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.730Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.730Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.730Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.730Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.730Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.730Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.730Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.730Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.730Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.730Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.730Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] """
[2024-06-23T21:30:37.730Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.730Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.730Z] elements drawn on the canvas.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.730Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.730Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.730Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.730Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.730Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.730Z] interactive performance.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.730Z] to the graph:
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.730Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.730Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.730Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.730Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.730Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.730Z] themselves.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.730Z] of how to use transforms.
[2024-06-23T21:30:37.730Z] """
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.730Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.730Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] import copy
[2024-06-23T21:30:37.730Z] import functools
[2024-06-23T21:30:37.730Z] import textwrap
[2024-06-23T21:30:37.730Z] import weakref
[2024-06-23T21:30:37.730Z] import math
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] import numpy as np
[2024-06-23T21:30:37.730Z] from numpy.linalg import inv
[2024-06-23T21:30:37.730Z]
[2024-06-23T21:30:37.730Z] from matplotlib import _api
[2024-06-23T21:30:37.731Z] > from matplotlib._path import (
[2024-06-23T21:30:37.731Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.731Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.731Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.731Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.731Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.731Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.731Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.731Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.731Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.731Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.731Z] code = main()
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.731Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.731Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.731Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.731Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.731Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.731Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.731Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.731Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.731Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.731Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.731Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.731Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.731Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.731Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.731Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.731Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.731Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.731Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.731Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.731Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.731Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.731Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.731Z] item.runtest()
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.731Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.731Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.731Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.731Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.731Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.731Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 490, in test_filled_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.731Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.731Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.731Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.731Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.731Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.731Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.731Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.731Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.731Z] from matplotlib._path import (
[2024-06-23T21:30:37.731Z] Traceback (most recent call last):
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.731Z] raise ImportError(msg)
[2024-06-23T21:30:37.731Z] ImportError:
[2024-06-23T21:30:37.731Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.731Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.731Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.731Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.731Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.731Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] ____ test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] ____
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] fill_type = <FillType.ChunkCombinedOffset: 204>, thread_count = 3
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] @pytest.mark.image
[2024-06-23T21:30:37.731Z] @pytest.mark.threads
[2024-06-23T21:30:37.731Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.731Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.731Z] def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.731Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] tests/test_filled.py:490:
[2024-06-23T21:30:37.731Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.731Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.731Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.731Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.731Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.731Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.731Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.731Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.731Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.731Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.731Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.731Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.731Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.731Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] """
[2024-06-23T21:30:37.731Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.731Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.731Z] elements drawn on the canvas.
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.731Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.731Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.731Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.731Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.731Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.731Z] interactive performance.
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.731Z] to the graph:
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.731Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.731Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.731Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.731Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.731Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.731Z] themselves.
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.731Z] of how to use transforms.
[2024-06-23T21:30:37.731Z] """
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.731Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.731Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] import copy
[2024-06-23T21:30:37.731Z] import functools
[2024-06-23T21:30:37.731Z] import textwrap
[2024-06-23T21:30:37.731Z] import weakref
[2024-06-23T21:30:37.731Z] import math
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] import numpy as np
[2024-06-23T21:30:37.731Z] from numpy.linalg import inv
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] from matplotlib import _api
[2024-06-23T21:30:37.731Z] > from matplotlib._path import (
[2024-06-23T21:30:37.731Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.731Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.731Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.731Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.731Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.731Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.731Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.731Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.731Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.731Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.731Z] code = main()
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.731Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.731Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.731Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.731Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.731Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.731Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.731Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.731Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.731Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.731Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.731Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.731Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.731Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.731Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.731Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.731Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.731Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.731Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.731Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.731Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.731Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.731Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.731Z] item.runtest()
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.731Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.731Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.731Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.731Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.731Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.731Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 490, in test_filled_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.731Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.731Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.731Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.731Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.731Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.731Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.731Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.731Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.731Z] from matplotlib._path import (
[2024-06-23T21:30:37.731Z] Traceback (most recent call last):
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.731Z] raise ImportError(msg)
[2024-06-23T21:30:37.731Z] ImportError:
[2024-06-23T21:30:37.731Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.731Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.731Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.731Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.731Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.731Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] __ test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] __
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] fill_type = <FillType.ChunkCombinedCodeOffset: 205>, thread_count = 3
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] @pytest.mark.image
[2024-06-23T21:30:37.731Z] @pytest.mark.threads
[2024-06-23T21:30:37.731Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.731Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.731Z] def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.731Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] tests/test_filled.py:490:
[2024-06-23T21:30:37.731Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.731Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.731Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.731Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.731Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.731Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.731Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.731Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.731Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.731Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.731Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.731Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.731Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.731Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] """
[2024-06-23T21:30:37.731Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.731Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.731Z] elements drawn on the canvas.
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.731Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.731Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.731Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.731Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.731Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.731Z] interactive performance.
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.731Z] to the graph:
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.731Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.731Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.731Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.731Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.731Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.731Z] themselves.
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.731Z] of how to use transforms.
[2024-06-23T21:30:37.731Z] """
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.731Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.731Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] import copy
[2024-06-23T21:30:37.731Z] import functools
[2024-06-23T21:30:37.731Z] import textwrap
[2024-06-23T21:30:37.731Z] import weakref
[2024-06-23T21:30:37.731Z] import math
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] import numpy as np
[2024-06-23T21:30:37.731Z] from numpy.linalg import inv
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] from matplotlib import _api
[2024-06-23T21:30:37.731Z] > from matplotlib._path import (
[2024-06-23T21:30:37.731Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.731Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.731Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.731Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.731Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.731Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.731Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.731Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.731Z]
[2024-06-23T21:30:37.731Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.731Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.731Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.731Z] code = main()
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.731Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.731Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.731Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.731Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.731Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.731Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.731Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.731Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.731Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.731Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.731Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.731Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.731Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.731Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.731Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.731Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.731Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.731Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.731Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.731Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.731Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.732Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.732Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.732Z] item.runtest()
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.732Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.732Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.732Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.732Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.732Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.732Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 490, in test_filled_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.732Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.732Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.732Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.732Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.732Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.732Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.732Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.732Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.732Z] from matplotlib._path import (
[2024-06-23T21:30:37.732Z] Traceback (most recent call last):
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.732Z] raise ImportError(msg)
[2024-06-23T21:30:37.732Z] ImportError:
[2024-06-23T21:30:37.732Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.732Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.732Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.732Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.732Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.732Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] _ test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] _
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] fill_type = <FillType.ChunkCombinedOffsetOffset: 206>, thread_count = 3
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] @pytest.mark.image
[2024-06-23T21:30:37.732Z] @pytest.mark.threads
[2024-06-23T21:30:37.732Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.732Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.732Z] def test_filled_random_no_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.732Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] tests/test_filled.py:490:
[2024-06-23T21:30:37.732Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.732Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.732Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.732Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.732Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.732Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.732Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.732Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.732Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.732Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.732Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.732Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.732Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.732Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] """
[2024-06-23T21:30:37.732Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.732Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.732Z] elements drawn on the canvas.
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.732Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.732Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.732Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.732Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.732Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.732Z] interactive performance.
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.732Z] to the graph:
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.732Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.732Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.732Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.732Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.732Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.732Z] themselves.
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.732Z] of how to use transforms.
[2024-06-23T21:30:37.732Z] """
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.732Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.732Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] import copy
[2024-06-23T21:30:37.732Z] import functools
[2024-06-23T21:30:37.732Z] import textwrap
[2024-06-23T21:30:37.732Z] import weakref
[2024-06-23T21:30:37.732Z] import math
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] import numpy as np
[2024-06-23T21:30:37.732Z] from numpy.linalg import inv
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] from matplotlib import _api
[2024-06-23T21:30:37.732Z] > from matplotlib._path import (
[2024-06-23T21:30:37.732Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.732Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.732Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.732Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.732Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.732Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.732Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.732Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.732Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.732Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.732Z] code = main()
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.732Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.732Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.732Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.732Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.732Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.732Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.732Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.732Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.732Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.732Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.732Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.732Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.732Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.732Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.732Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.732Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.732Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.732Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.732Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.732Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.732Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.732Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.732Z] item.runtest()
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.732Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.732Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.732Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.732Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.732Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.732Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 490, in test_filled_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:37.732Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.732Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.732Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.732Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.732Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.732Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.732Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.732Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.732Z] from matplotlib._path import (
[2024-06-23T21:30:37.732Z] Traceback (most recent call last):
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.732Z] raise ImportError(msg)
[2024-06-23T21:30:37.732Z] ImportError:
[2024-06-23T21:30:37.732Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.732Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.732Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.732Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.732Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.732Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] ___________________ test_filled_random_corner_mask[mpl2014] ____________________
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] name = 'mpl2014'
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] @pytest.mark.image
[2024-06-23T21:30:37.732Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:37.732Z] def test_filled_random_corner_mask(name: str) -> None:
[2024-06-23T21:30:37.732Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] tests/test_filled.py:526:
[2024-06-23T21:30:37.732Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.732Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.732Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.732Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.732Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.732Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.732Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.732Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.732Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.732Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.732Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.732Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.732Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.732Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] """
[2024-06-23T21:30:37.732Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.732Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.732Z] elements drawn on the canvas.
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.732Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.732Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.732Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.732Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.732Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.732Z] interactive performance.
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.732Z] to the graph:
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.732Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.732Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.732Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.732Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.732Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.732Z] themselves.
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.732Z] of how to use transforms.
[2024-06-23T21:30:37.732Z] """
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.732Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.732Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] import copy
[2024-06-23T21:30:37.732Z] import functools
[2024-06-23T21:30:37.732Z] import textwrap
[2024-06-23T21:30:37.732Z] import weakref
[2024-06-23T21:30:37.732Z] import math
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] import numpy as np
[2024-06-23T21:30:37.732Z] from numpy.linalg import inv
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] from matplotlib import _api
[2024-06-23T21:30:37.732Z] > from matplotlib._path import (
[2024-06-23T21:30:37.732Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.732Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.732Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.732Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.732Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.732Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.732Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.732Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.732Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.732Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.732Z] code = main()
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.732Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.732Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.732Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.732Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.732Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.732Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.732Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.732Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.732Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.732Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.732Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.732Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.732Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.732Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.732Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.732Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.732Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.732Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.732Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.732Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.732Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.732Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.732Z] item.runtest()
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.732Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.732Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.732Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.732Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.732Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.732Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 526, in test_filled_random_corner_mask
[2024-06-23T21:30:37.732Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.732Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.732Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.732Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.732Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.732Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.732Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.732Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.732Z] from matplotlib._path import (
[2024-06-23T21:30:37.732Z] Traceback (most recent call last):
[2024-06-23T21:30:37.732Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.732Z] raise ImportError(msg)
[2024-06-23T21:30:37.732Z] ImportError:
[2024-06-23T21:30:37.732Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.732Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.732Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.732Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.732Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.732Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.732Z] ____________________ test_filled_random_corner_mask[serial] ____________________
[2024-06-23T21:30:37.732Z]
[2024-06-23T21:30:37.733Z] name = 'serial'
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] @pytest.mark.image
[2024-06-23T21:30:37.733Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:37.733Z] def test_filled_random_corner_mask(name: str) -> None:
[2024-06-23T21:30:37.733Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] tests/test_filled.py:526:
[2024-06-23T21:30:37.733Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.733Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.733Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.733Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.733Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.733Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.733Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.733Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.733Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.733Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.733Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.733Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.733Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.733Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] """
[2024-06-23T21:30:37.733Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.733Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.733Z] elements drawn on the canvas.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.733Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.733Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.733Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.733Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.733Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.733Z] interactive performance.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.733Z] to the graph:
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.733Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.733Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.733Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.733Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.733Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.733Z] themselves.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.733Z] of how to use transforms.
[2024-06-23T21:30:37.733Z] """
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.733Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.733Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] import copy
[2024-06-23T21:30:37.733Z] import functools
[2024-06-23T21:30:37.733Z] import textwrap
[2024-06-23T21:30:37.733Z] import weakref
[2024-06-23T21:30:37.733Z] import math
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] import numpy as np
[2024-06-23T21:30:37.733Z] from numpy.linalg import inv
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] from matplotlib import _api
[2024-06-23T21:30:37.733Z] > from matplotlib._path import (
[2024-06-23T21:30:37.733Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.733Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.733Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.733Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.733Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.733Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.733Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.733Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.733Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.733Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.733Z] code = main()
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.733Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.733Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.733Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.733Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.733Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.733Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.733Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.733Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.733Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.733Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.733Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.733Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.733Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.733Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.733Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.733Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.733Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.733Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.733Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.733Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.733Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.733Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.733Z] item.runtest()
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.733Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.733Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.733Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.733Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.733Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.733Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 526, in test_filled_random_corner_mask
[2024-06-23T21:30:37.733Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.733Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.733Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.733Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.733Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.733Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.733Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.733Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.733Z] from matplotlib._path import (
[2024-06-23T21:30:37.733Z] Traceback (most recent call last):
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.733Z] raise ImportError(msg)
[2024-06-23T21:30:37.733Z] ImportError:
[2024-06-23T21:30:37.733Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.733Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.733Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.733Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.733Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.733Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] ___________________ test_filled_random_corner_mask[threaded] ___________________
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] name = 'threaded'
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] @pytest.mark.image
[2024-06-23T21:30:37.733Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:37.733Z] def test_filled_random_corner_mask(name: str) -> None:
[2024-06-23T21:30:37.733Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] tests/test_filled.py:526:
[2024-06-23T21:30:37.733Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.733Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.733Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.733Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.733Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.733Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.733Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.733Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.733Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.733Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.733Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.733Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.733Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.733Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] """
[2024-06-23T21:30:37.733Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.733Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.733Z] elements drawn on the canvas.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.733Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.733Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.733Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.733Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.733Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.733Z] interactive performance.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.733Z] to the graph:
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.733Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.733Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.733Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.733Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.733Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.733Z] themselves.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.733Z] of how to use transforms.
[2024-06-23T21:30:37.733Z] """
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.733Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.733Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] import copy
[2024-06-23T21:30:37.733Z] import functools
[2024-06-23T21:30:37.733Z] import textwrap
[2024-06-23T21:30:37.733Z] import weakref
[2024-06-23T21:30:37.733Z] import math
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] import numpy as np
[2024-06-23T21:30:37.733Z] from numpy.linalg import inv
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] from matplotlib import _api
[2024-06-23T21:30:37.733Z] > from matplotlib._path import (
[2024-06-23T21:30:37.733Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.733Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.733Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.733Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.733Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.733Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.733Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.733Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.733Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.733Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.733Z] code = main()
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.733Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.733Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.733Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.733Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.733Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.733Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.733Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.733Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.733Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.733Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.733Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.733Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.733Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.733Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.733Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.733Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.733Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.733Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.733Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.733Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.733Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.733Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.733Z] item.runtest()
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.733Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.733Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.733Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.733Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.733Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.733Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 526, in test_filled_random_corner_mask
[2024-06-23T21:30:37.733Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.733Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.733Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.733Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.733Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.733Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.733Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.733Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.733Z] from matplotlib._path import (
[2024-06-23T21:30:37.733Z] Traceback (most recent call last):
[2024-06-23T21:30:37.733Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.733Z] raise ImportError(msg)
[2024-06-23T21:30:37.733Z] ImportError:
[2024-06-23T21:30:37.733Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.733Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.733Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.733Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.733Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.733Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] ________________ test_filled_random_corner_mask_chunk[mpl2014] _________________
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] name = 'mpl2014'
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] @pytest.mark.image
[2024-06-23T21:30:37.733Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:37.733Z] def test_filled_random_corner_mask_chunk(name: str) -> None:
[2024-06-23T21:30:37.733Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] tests/test_filled.py:550:
[2024-06-23T21:30:37.733Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.733Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.733Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.733Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.733Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.733Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.733Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.733Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.733Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.733Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.733Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.733Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.733Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.733Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] """
[2024-06-23T21:30:37.733Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.733Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.733Z] elements drawn on the canvas.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.733Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.733Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.733Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.733Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.733Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.733Z] interactive performance.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.733Z] to the graph:
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.733Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.733Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.733Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.733Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.733Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.733Z] themselves.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.733Z] of how to use transforms.
[2024-06-23T21:30:37.733Z] """
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.733Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.733Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] import copy
[2024-06-23T21:30:37.733Z] import functools
[2024-06-23T21:30:37.733Z] import textwrap
[2024-06-23T21:30:37.733Z] import weakref
[2024-06-23T21:30:37.733Z] import math
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] import numpy as np
[2024-06-23T21:30:37.733Z] from numpy.linalg import inv
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] from matplotlib import _api
[2024-06-23T21:30:37.733Z] > from matplotlib._path import (
[2024-06-23T21:30:37.733Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.733Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.733Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.733Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.733Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.733Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.733Z]
[2024-06-23T21:30:37.733Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.733Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.734Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.734Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.734Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.734Z] code = main()
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.734Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.734Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.734Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.734Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.734Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.734Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.734Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.734Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.734Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.734Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.734Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.734Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.734Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.734Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.734Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.734Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.734Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.734Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.734Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.734Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.734Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.734Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.734Z] item.runtest()
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.734Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.734Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.734Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.734Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.734Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.734Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 550, in test_filled_random_corner_mask_chunk
[2024-06-23T21:30:37.734Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.734Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.734Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.734Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.734Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.734Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.734Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.734Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.734Z] from matplotlib._path import (
[2024-06-23T21:30:37.734Z] Traceback (most recent call last):
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.734Z] raise ImportError(msg)
[2024-06-23T21:30:37.734Z] ImportError:
[2024-06-23T21:30:37.734Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.734Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.734Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.734Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.734Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.734Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] _________________ test_filled_random_corner_mask_chunk[serial] _________________
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] name = 'serial'
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] @pytest.mark.image
[2024-06-23T21:30:37.734Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:37.734Z] def test_filled_random_corner_mask_chunk(name: str) -> None:
[2024-06-23T21:30:37.734Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] tests/test_filled.py:550:
[2024-06-23T21:30:37.734Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.734Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.734Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.734Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.734Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.734Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.734Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.734Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.734Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.734Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.734Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.734Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.734Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.734Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] """
[2024-06-23T21:30:37.734Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.734Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.734Z] elements drawn on the canvas.
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.734Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.734Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.734Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.734Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.734Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.734Z] interactive performance.
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.734Z] to the graph:
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.734Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.734Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.734Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.734Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.734Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.734Z] themselves.
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.734Z] of how to use transforms.
[2024-06-23T21:30:37.734Z] """
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.734Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.734Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] import copy
[2024-06-23T21:30:37.734Z] import functools
[2024-06-23T21:30:37.734Z] import textwrap
[2024-06-23T21:30:37.734Z] import weakref
[2024-06-23T21:30:37.734Z] import math
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] import numpy as np
[2024-06-23T21:30:37.734Z] from numpy.linalg import inv
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] from matplotlib import _api
[2024-06-23T21:30:37.734Z] > from matplotlib._path import (
[2024-06-23T21:30:37.734Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.734Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.734Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.734Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.734Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.734Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.734Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.734Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.734Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.734Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.734Z] code = main()
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.734Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.734Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.734Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.734Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.734Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.734Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.734Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.734Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.734Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.734Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.734Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.734Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.734Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.734Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.734Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.734Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.734Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.734Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.734Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.734Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.734Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.734Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.734Z] item.runtest()
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.734Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.734Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.734Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.734Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.734Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.734Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 550, in test_filled_random_corner_mask_chunk
[2024-06-23T21:30:37.734Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.734Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.734Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.734Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.734Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.734Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.734Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.734Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.734Z] from matplotlib._path import (
[2024-06-23T21:30:37.734Z] Traceback (most recent call last):
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.734Z] raise ImportError(msg)
[2024-06-23T21:30:37.734Z] ImportError:
[2024-06-23T21:30:37.734Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.734Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.734Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.734Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.734Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.734Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] ________________ test_filled_random_corner_mask_chunk[threaded] ________________
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] name = 'threaded'
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] @pytest.mark.image
[2024-06-23T21:30:37.734Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:37.734Z] def test_filled_random_corner_mask_chunk(name: str) -> None:
[2024-06-23T21:30:37.734Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] tests/test_filled.py:550:
[2024-06-23T21:30:37.734Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.734Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.734Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.734Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.734Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.734Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.734Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.734Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.734Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.734Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.734Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.734Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.734Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.734Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] """
[2024-06-23T21:30:37.734Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.734Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.734Z] elements drawn on the canvas.
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.734Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.734Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.734Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.734Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.734Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.734Z] interactive performance.
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.734Z] to the graph:
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.734Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.734Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.734Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.734Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.734Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.734Z] themselves.
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.734Z] of how to use transforms.
[2024-06-23T21:30:37.734Z] """
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.734Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.734Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] import copy
[2024-06-23T21:30:37.734Z] import functools
[2024-06-23T21:30:37.734Z] import textwrap
[2024-06-23T21:30:37.734Z] import weakref
[2024-06-23T21:30:37.734Z] import math
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] import numpy as np
[2024-06-23T21:30:37.734Z] from numpy.linalg import inv
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] from matplotlib import _api
[2024-06-23T21:30:37.734Z] > from matplotlib._path import (
[2024-06-23T21:30:37.734Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.734Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.734Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.734Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.734Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.734Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.734Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.734Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.734Z]
[2024-06-23T21:30:37.734Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.734Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.734Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.734Z] code = main()
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.734Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.734Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.734Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.734Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.734Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.734Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.734Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.734Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.734Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.734Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.734Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.734Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.734Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.734Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.734Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.734Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.734Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.734Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.734Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.734Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.735Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.735Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.735Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.735Z] item.runtest()
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.735Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.735Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.735Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.735Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.735Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.735Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 550, in test_filled_random_corner_mask_chunk
[2024-06-23T21:30:37.735Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.735Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.735Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.735Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.735Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.735Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.735Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.735Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.735Z] from matplotlib._path import (
[2024-06-23T21:30:37.735Z] Traceback (most recent call last):
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.735Z] raise ImportError(msg)
[2024-06-23T21:30:37.735Z] ImportError:
[2024-06-23T21:30:37.735Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.735Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.735Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.735Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.735Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.735Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] __________ test_filled_random_corner_mask_chunk_threads[2-OuterCode] ___________
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] fill_type = <FillType.OuterCode: 201>, thread_count = 2
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] @pytest.mark.image
[2024-06-23T21:30:37.735Z] @pytest.mark.threads
[2024-06-23T21:30:37.735Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.735Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.735Z] def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.735Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] tests/test_filled.py:587:
[2024-06-23T21:30:37.735Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.735Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.735Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.735Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.735Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.735Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.735Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.735Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.735Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.735Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.735Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.735Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.735Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.735Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] """
[2024-06-23T21:30:37.735Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.735Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.735Z] elements drawn on the canvas.
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.735Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.735Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.735Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.735Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.735Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.735Z] interactive performance.
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.735Z] to the graph:
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.735Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.735Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.735Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.735Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.735Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.735Z] themselves.
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.735Z] of how to use transforms.
[2024-06-23T21:30:37.735Z] """
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.735Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.735Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] import copy
[2024-06-23T21:30:37.735Z] import functools
[2024-06-23T21:30:37.735Z] import textwrap
[2024-06-23T21:30:37.735Z] import weakref
[2024-06-23T21:30:37.735Z] import math
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] import numpy as np
[2024-06-23T21:30:37.735Z] from numpy.linalg import inv
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] from matplotlib import _api
[2024-06-23T21:30:37.735Z] > from matplotlib._path import (
[2024-06-23T21:30:37.735Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.735Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.735Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.735Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.735Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.735Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.735Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.735Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.735Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.735Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.735Z] code = main()
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.735Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.735Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.735Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.735Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.735Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.735Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.735Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.735Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.735Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.735Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.735Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.735Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.735Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.735Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.735Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.735Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.735Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.735Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.735Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.735Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.735Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.735Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.735Z] item.runtest()
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.735Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.735Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.735Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.735Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.735Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.735Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 587, in test_filled_random_corner_mask_chunk_threads
[2024-06-23T21:30:37.735Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.735Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.735Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.735Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.735Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.735Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.735Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.735Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.735Z] from matplotlib._path import (
[2024-06-23T21:30:37.735Z] Traceback (most recent call last):
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.735Z] raise ImportError(msg)
[2024-06-23T21:30:37.735Z] ImportError:
[2024-06-23T21:30:37.735Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.735Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.735Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.735Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.735Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.735Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] _________ test_filled_random_corner_mask_chunk_threads[2-OuterOffset] __________
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] fill_type = <FillType.OuterOffset: 202>, thread_count = 2
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] @pytest.mark.image
[2024-06-23T21:30:37.735Z] @pytest.mark.threads
[2024-06-23T21:30:37.735Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.735Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.735Z] def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.735Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] tests/test_filled.py:587:
[2024-06-23T21:30:37.735Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.735Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.735Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.735Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.735Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.735Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.735Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.735Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.735Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.735Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.735Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.735Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.735Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.735Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] """
[2024-06-23T21:30:37.735Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.735Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.735Z] elements drawn on the canvas.
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.735Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.735Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.735Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.735Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.735Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.735Z] interactive performance.
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.735Z] to the graph:
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.735Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.735Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.735Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.735Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.735Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.735Z] themselves.
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.735Z] of how to use transforms.
[2024-06-23T21:30:37.735Z] """
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.735Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.735Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] import copy
[2024-06-23T21:30:37.735Z] import functools
[2024-06-23T21:30:37.735Z] import textwrap
[2024-06-23T21:30:37.735Z] import weakref
[2024-06-23T21:30:37.735Z] import math
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] import numpy as np
[2024-06-23T21:30:37.735Z] from numpy.linalg import inv
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] from matplotlib import _api
[2024-06-23T21:30:37.735Z] > from matplotlib._path import (
[2024-06-23T21:30:37.735Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.735Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.735Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.735Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.735Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.735Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.735Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.735Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.735Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.735Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.735Z] code = main()
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.735Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.735Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.735Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.735Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.735Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.735Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.735Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.735Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.735Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.735Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.735Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.735Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.735Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.735Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.735Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.735Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.735Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.735Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.735Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.735Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.735Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.735Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.735Z] item.runtest()
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.735Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.735Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.735Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.735Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.735Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.735Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 587, in test_filled_random_corner_mask_chunk_threads
[2024-06-23T21:30:37.735Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.735Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.735Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.735Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.735Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.735Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.735Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.735Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.735Z] from matplotlib._path import (
[2024-06-23T21:30:37.735Z] Traceback (most recent call last):
[2024-06-23T21:30:37.735Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.735Z] raise ImportError(msg)
[2024-06-23T21:30:37.735Z] ImportError:
[2024-06-23T21:30:37.735Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.735Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.735Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.735Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.735Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.735Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] ______ test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedCode] _______
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] fill_type = <FillType.ChunkCombinedCode: 203>, thread_count = 2
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] @pytest.mark.image
[2024-06-23T21:30:37.735Z] @pytest.mark.threads
[2024-06-23T21:30:37.735Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.735Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.735Z] def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.735Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.735Z]
[2024-06-23T21:30:37.735Z] tests/test_filled.py:587:
[2024-06-23T21:30:37.735Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.735Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.735Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.735Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.735Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.735Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.735Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.736Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.736Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.736Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.736Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.736Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.736Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.736Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] """
[2024-06-23T21:30:37.736Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.736Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.736Z] elements drawn on the canvas.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.736Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.736Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.736Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.736Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.736Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.736Z] interactive performance.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.736Z] to the graph:
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.736Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.736Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.736Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.736Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.736Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.736Z] themselves.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.736Z] of how to use transforms.
[2024-06-23T21:30:37.736Z] """
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.736Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.736Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] import copy
[2024-06-23T21:30:37.736Z] import functools
[2024-06-23T21:30:37.736Z] import textwrap
[2024-06-23T21:30:37.736Z] import weakref
[2024-06-23T21:30:37.736Z] import math
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] import numpy as np
[2024-06-23T21:30:37.736Z] from numpy.linalg import inv
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] from matplotlib import _api
[2024-06-23T21:30:37.736Z] > from matplotlib._path import (
[2024-06-23T21:30:37.736Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.736Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.736Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.736Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.736Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.736Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.736Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.736Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.736Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.736Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.736Z] code = main()
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.736Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.736Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.736Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.736Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.736Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.736Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.736Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.736Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.736Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.736Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.736Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.736Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.736Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.736Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.736Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.736Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.736Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.736Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.736Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.736Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.736Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.736Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.736Z] item.runtest()
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.736Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.736Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.736Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.736Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.736Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.736Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 587, in test_filled_random_corner_mask_chunk_threads
[2024-06-23T21:30:37.736Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.736Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.736Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.736Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.736Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.736Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.736Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.736Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.736Z] from matplotlib._path import (
[2024-06-23T21:30:37.736Z] Traceback (most recent call last):
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.736Z] raise ImportError(msg)
[2024-06-23T21:30:37.736Z] ImportError:
[2024-06-23T21:30:37.736Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.736Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.736Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.736Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.736Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.736Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] _____ test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedOffset] ______
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] fill_type = <FillType.ChunkCombinedOffset: 204>, thread_count = 2
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] @pytest.mark.image
[2024-06-23T21:30:37.736Z] @pytest.mark.threads
[2024-06-23T21:30:37.736Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.736Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.736Z] def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.736Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] tests/test_filled.py:587:
[2024-06-23T21:30:37.736Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.736Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.736Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.736Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.736Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.736Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.736Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.736Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.736Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.736Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.736Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.736Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.736Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.736Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] """
[2024-06-23T21:30:37.736Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.736Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.736Z] elements drawn on the canvas.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.736Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.736Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.736Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.736Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.736Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.736Z] interactive performance.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.736Z] to the graph:
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.736Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.736Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.736Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.736Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.736Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.736Z] themselves.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.736Z] of how to use transforms.
[2024-06-23T21:30:37.736Z] """
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.736Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.736Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] import copy
[2024-06-23T21:30:37.736Z] import functools
[2024-06-23T21:30:37.736Z] import textwrap
[2024-06-23T21:30:37.736Z] import weakref
[2024-06-23T21:30:37.736Z] import math
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] import numpy as np
[2024-06-23T21:30:37.736Z] from numpy.linalg import inv
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] from matplotlib import _api
[2024-06-23T21:30:37.736Z] > from matplotlib._path import (
[2024-06-23T21:30:37.736Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.736Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.736Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.736Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.736Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.736Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.736Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.736Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.736Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.736Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.736Z] code = main()
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.736Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.736Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.736Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.736Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.736Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.736Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.736Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.736Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.736Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.736Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.736Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.736Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.736Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.736Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.736Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.736Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.736Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.736Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.736Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.736Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.736Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.736Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.736Z] item.runtest()
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.736Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.736Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.736Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.736Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.736Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.736Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 587, in test_filled_random_corner_mask_chunk_threads
[2024-06-23T21:30:37.736Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.736Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.736Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.736Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.736Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.736Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.736Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.736Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.736Z] from matplotlib._path import (
[2024-06-23T21:30:37.736Z] Traceback (most recent call last):
[2024-06-23T21:30:37.736Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.736Z] raise ImportError(msg)
[2024-06-23T21:30:37.736Z] ImportError:
[2024-06-23T21:30:37.736Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.736Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.736Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.736Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.736Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.736Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] ___ test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset] ____
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] fill_type = <FillType.ChunkCombinedCodeOffset: 205>, thread_count = 2
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] @pytest.mark.image
[2024-06-23T21:30:37.736Z] @pytest.mark.threads
[2024-06-23T21:30:37.736Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.736Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.736Z] def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.736Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] tests/test_filled.py:587:
[2024-06-23T21:30:37.736Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.736Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.736Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.736Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.736Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.736Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.736Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.736Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.736Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.736Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.736Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.736Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.736Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.736Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] """
[2024-06-23T21:30:37.736Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.736Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.736Z] elements drawn on the canvas.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.736Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.736Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.736Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.736Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.736Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.736Z] interactive performance.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.736Z] to the graph:
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.736Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.736Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.736Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.736Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.736Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.736Z] themselves.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.736Z] of how to use transforms.
[2024-06-23T21:30:37.736Z] """
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.736Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.736Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] import copy
[2024-06-23T21:30:37.736Z] import functools
[2024-06-23T21:30:37.736Z] import textwrap
[2024-06-23T21:30:37.736Z] import weakref
[2024-06-23T21:30:37.736Z] import math
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] import numpy as np
[2024-06-23T21:30:37.736Z] from numpy.linalg import inv
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.736Z] from matplotlib import _api
[2024-06-23T21:30:37.736Z] > from matplotlib._path import (
[2024-06-23T21:30:37.736Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.736Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.736Z]
[2024-06-23T21:30:37.737Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.737Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.737Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.737Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.737Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.737Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.737Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.737Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.737Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.737Z] code = main()
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.737Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.737Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.737Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.737Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.737Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.737Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.737Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.737Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.737Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.737Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.737Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.737Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.737Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.737Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.737Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.737Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.737Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.737Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.737Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.737Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.737Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.737Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.737Z] item.runtest()
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.737Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.737Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.737Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.737Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.737Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.737Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 587, in test_filled_random_corner_mask_chunk_threads
[2024-06-23T21:30:37.737Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.737Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.737Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.737Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.737Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.737Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.737Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.737Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.737Z] from matplotlib._path import (
[2024-06-23T21:30:37.737Z] Traceback (most recent call last):
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.737Z] raise ImportError(msg)
[2024-06-23T21:30:37.737Z] ImportError:
[2024-06-23T21:30:37.737Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.737Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.737Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.737Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.737Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.737Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] __ test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset] ___
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] fill_type = <FillType.ChunkCombinedOffsetOffset: 206>, thread_count = 2
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] @pytest.mark.image
[2024-06-23T21:30:37.737Z] @pytest.mark.threads
[2024-06-23T21:30:37.737Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.737Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.737Z] def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.737Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] tests/test_filled.py:587:
[2024-06-23T21:30:37.737Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.737Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.737Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.737Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.737Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.737Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.737Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.737Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.737Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.737Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.737Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.737Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.737Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.737Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] """
[2024-06-23T21:30:37.737Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.737Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.737Z] elements drawn on the canvas.
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.737Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.737Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.737Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.737Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.737Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.737Z] interactive performance.
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.737Z] to the graph:
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.737Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.737Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.737Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.737Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.737Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.737Z] themselves.
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.737Z] of how to use transforms.
[2024-06-23T21:30:37.737Z] """
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.737Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.737Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] import copy
[2024-06-23T21:30:37.737Z] import functools
[2024-06-23T21:30:37.737Z] import textwrap
[2024-06-23T21:30:37.737Z] import weakref
[2024-06-23T21:30:37.737Z] import math
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] import numpy as np
[2024-06-23T21:30:37.737Z] from numpy.linalg import inv
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] from matplotlib import _api
[2024-06-23T21:30:37.737Z] > from matplotlib._path import (
[2024-06-23T21:30:37.737Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.737Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.737Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.737Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.737Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.737Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.737Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.737Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.737Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.737Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.737Z] code = main()
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.737Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.737Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.737Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.737Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.737Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.737Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.737Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.737Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.737Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.737Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.737Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.737Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.737Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.737Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.737Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.737Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.737Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.737Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.737Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.737Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.737Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.737Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.737Z] item.runtest()
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.737Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.737Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.737Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.737Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.737Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.737Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 587, in test_filled_random_corner_mask_chunk_threads
[2024-06-23T21:30:37.737Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.737Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.737Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.737Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.737Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.737Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.737Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.737Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.737Z] from matplotlib._path import (
[2024-06-23T21:30:37.737Z] Traceback (most recent call last):
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.737Z] raise ImportError(msg)
[2024-06-23T21:30:37.737Z] ImportError:
[2024-06-23T21:30:37.737Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.737Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.737Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.737Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.737Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.737Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] __________ test_filled_random_corner_mask_chunk_threads[3-OuterCode] ___________
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] fill_type = <FillType.OuterCode: 201>, thread_count = 3
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] @pytest.mark.image
[2024-06-23T21:30:37.737Z] @pytest.mark.threads
[2024-06-23T21:30:37.737Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.737Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.737Z] def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.737Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] tests/test_filled.py:587:
[2024-06-23T21:30:37.737Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.737Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.737Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.737Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.737Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.737Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.737Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.737Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.737Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.737Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.737Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.737Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.737Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.737Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] """
[2024-06-23T21:30:37.737Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.737Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.737Z] elements drawn on the canvas.
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.737Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.737Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.737Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.737Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.737Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.737Z] interactive performance.
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.737Z] to the graph:
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.737Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.737Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.737Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.737Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.737Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.737Z] themselves.
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.737Z] of how to use transforms.
[2024-06-23T21:30:37.737Z] """
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.737Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.737Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] import copy
[2024-06-23T21:30:37.737Z] import functools
[2024-06-23T21:30:37.737Z] import textwrap
[2024-06-23T21:30:37.737Z] import weakref
[2024-06-23T21:30:37.737Z] import math
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] import numpy as np
[2024-06-23T21:30:37.737Z] from numpy.linalg import inv
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] from matplotlib import _api
[2024-06-23T21:30:37.737Z] > from matplotlib._path import (
[2024-06-23T21:30:37.737Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.737Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.737Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.737Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.737Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.737Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.737Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.737Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.737Z]
[2024-06-23T21:30:37.737Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.737Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.737Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.737Z] code = main()
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.737Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.737Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.737Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.737Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.737Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.737Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.737Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.737Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.737Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.737Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.737Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.737Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.737Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.737Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.737Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.737Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.737Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.737Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.737Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.737Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.737Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.738Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.738Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.738Z] item.runtest()
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.738Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.738Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.738Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.738Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.738Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.738Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 587, in test_filled_random_corner_mask_chunk_threads
[2024-06-23T21:30:37.738Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.738Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.738Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.738Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.738Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.738Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.738Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.738Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.738Z] from matplotlib._path import (
[2024-06-23T21:30:37.738Z] Traceback (most recent call last):
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.738Z] raise ImportError(msg)
[2024-06-23T21:30:37.738Z] ImportError:
[2024-06-23T21:30:37.738Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.738Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.738Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.738Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.738Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.738Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] _________ test_filled_random_corner_mask_chunk_threads[3-OuterOffset] __________
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] fill_type = <FillType.OuterOffset: 202>, thread_count = 3
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] @pytest.mark.image
[2024-06-23T21:30:37.738Z] @pytest.mark.threads
[2024-06-23T21:30:37.738Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.738Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.738Z] def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.738Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] tests/test_filled.py:587:
[2024-06-23T21:30:37.738Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.738Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.738Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.738Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.738Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.738Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.738Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.738Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.738Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.738Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.738Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.738Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.738Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.738Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] """
[2024-06-23T21:30:37.738Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.738Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.738Z] elements drawn on the canvas.
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.738Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.738Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.738Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.738Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.738Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.738Z] interactive performance.
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.738Z] to the graph:
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.738Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.738Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.738Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.738Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.738Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.738Z] themselves.
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.738Z] of how to use transforms.
[2024-06-23T21:30:37.738Z] """
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.738Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.738Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] import copy
[2024-06-23T21:30:37.738Z] import functools
[2024-06-23T21:30:37.738Z] import textwrap
[2024-06-23T21:30:37.738Z] import weakref
[2024-06-23T21:30:37.738Z] import math
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] import numpy as np
[2024-06-23T21:30:37.738Z] from numpy.linalg import inv
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] from matplotlib import _api
[2024-06-23T21:30:37.738Z] > from matplotlib._path import (
[2024-06-23T21:30:37.738Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.738Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.738Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.738Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.738Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.738Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.738Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.738Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.738Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.738Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.738Z] code = main()
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.738Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.738Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.738Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.738Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.738Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.738Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.738Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.738Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.738Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.738Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.738Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.738Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.738Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.738Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.738Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.738Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.738Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.738Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.738Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.738Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.738Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.738Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.738Z] item.runtest()
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.738Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.738Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.738Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.738Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.738Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.738Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 587, in test_filled_random_corner_mask_chunk_threads
[2024-06-23T21:30:37.738Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.738Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.738Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.738Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.738Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.738Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.738Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.738Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.738Z] from matplotlib._path import (
[2024-06-23T21:30:37.738Z] Traceback (most recent call last):
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.738Z] raise ImportError(msg)
[2024-06-23T21:30:37.738Z] ImportError:
[2024-06-23T21:30:37.738Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.738Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.738Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.738Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.738Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.738Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] ______ test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedCode] _______
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] fill_type = <FillType.ChunkCombinedCode: 203>, thread_count = 3
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] @pytest.mark.image
[2024-06-23T21:30:37.738Z] @pytest.mark.threads
[2024-06-23T21:30:37.738Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.738Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.738Z] def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.738Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] tests/test_filled.py:587:
[2024-06-23T21:30:37.738Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.738Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.738Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.738Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.738Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.738Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.738Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.738Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.738Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.738Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.738Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.738Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.738Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.738Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] """
[2024-06-23T21:30:37.738Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.738Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.738Z] elements drawn on the canvas.
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.738Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.738Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.738Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.738Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.738Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.738Z] interactive performance.
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.738Z] to the graph:
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.738Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.738Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.738Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.738Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.738Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.738Z] themselves.
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.738Z] of how to use transforms.
[2024-06-23T21:30:37.738Z] """
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.738Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.738Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] import copy
[2024-06-23T21:30:37.738Z] import functools
[2024-06-23T21:30:37.738Z] import textwrap
[2024-06-23T21:30:37.738Z] import weakref
[2024-06-23T21:30:37.738Z] import math
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] import numpy as np
[2024-06-23T21:30:37.738Z] from numpy.linalg import inv
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] from matplotlib import _api
[2024-06-23T21:30:37.738Z] > from matplotlib._path import (
[2024-06-23T21:30:37.738Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.738Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.738Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.738Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.738Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.738Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.738Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.738Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.738Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.738Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.738Z] code = main()
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.738Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.738Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.738Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.738Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.738Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.738Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.738Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.738Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.738Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.738Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.738Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.738Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.738Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.738Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.738Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.738Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.738Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.738Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.738Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.738Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.738Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.738Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.738Z] item.runtest()
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.738Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.738Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.738Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.738Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.738Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.738Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 587, in test_filled_random_corner_mask_chunk_threads
[2024-06-23T21:30:37.738Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.738Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.738Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.738Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.738Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.738Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.738Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.738Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.738Z] from matplotlib._path import (
[2024-06-23T21:30:37.738Z] Traceback (most recent call last):
[2024-06-23T21:30:37.738Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.738Z] raise ImportError(msg)
[2024-06-23T21:30:37.738Z] ImportError:
[2024-06-23T21:30:37.738Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.738Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.738Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.738Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.738Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.738Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.738Z] _____ test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedOffset] ______
[2024-06-23T21:30:37.738Z]
[2024-06-23T21:30:37.739Z] fill_type = <FillType.ChunkCombinedOffset: 204>, thread_count = 3
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] @pytest.mark.image
[2024-06-23T21:30:37.739Z] @pytest.mark.threads
[2024-06-23T21:30:37.739Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.739Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.739Z] def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.739Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] tests/test_filled.py:587:
[2024-06-23T21:30:37.739Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.739Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.739Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.739Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.739Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.739Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.739Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.739Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.739Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.739Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.739Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.739Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.739Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.739Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] """
[2024-06-23T21:30:37.739Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.739Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.739Z] elements drawn on the canvas.
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.739Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.739Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.739Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.739Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.739Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.739Z] interactive performance.
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.739Z] to the graph:
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.739Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.739Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.739Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.739Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.739Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.739Z] themselves.
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.739Z] of how to use transforms.
[2024-06-23T21:30:37.739Z] """
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.739Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.739Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] import copy
[2024-06-23T21:30:37.739Z] import functools
[2024-06-23T21:30:37.739Z] import textwrap
[2024-06-23T21:30:37.739Z] import weakref
[2024-06-23T21:30:37.739Z] import math
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] import numpy as np
[2024-06-23T21:30:37.739Z] from numpy.linalg import inv
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] from matplotlib import _api
[2024-06-23T21:30:37.739Z] > from matplotlib._path import (
[2024-06-23T21:30:37.739Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.739Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.739Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.739Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.739Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.739Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.739Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.739Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.739Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.739Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.739Z] code = main()
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.739Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.739Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.739Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.739Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.739Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.739Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.739Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.739Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.739Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.739Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.739Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.739Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.739Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.739Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.739Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.739Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.739Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.739Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.739Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.739Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.739Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.739Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.739Z] item.runtest()
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.739Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.739Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.739Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.739Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.739Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.739Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 587, in test_filled_random_corner_mask_chunk_threads
[2024-06-23T21:30:37.739Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.739Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.739Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.739Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.739Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.739Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.739Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.739Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.739Z] from matplotlib._path import (
[2024-06-23T21:30:37.739Z] Traceback (most recent call last):
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.739Z] raise ImportError(msg)
[2024-06-23T21:30:37.739Z] ImportError:
[2024-06-23T21:30:37.739Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.739Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.739Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.739Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.739Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.739Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] ___ test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset] ____
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] fill_type = <FillType.ChunkCombinedCodeOffset: 205>, thread_count = 3
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] @pytest.mark.image
[2024-06-23T21:30:37.739Z] @pytest.mark.threads
[2024-06-23T21:30:37.739Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.739Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.739Z] def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.739Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] tests/test_filled.py:587:
[2024-06-23T21:30:37.739Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.739Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.739Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.739Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.739Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.739Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.739Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.739Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.739Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.739Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.739Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.739Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.739Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.739Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] """
[2024-06-23T21:30:37.739Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.739Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.739Z] elements drawn on the canvas.
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.739Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.739Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.739Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.739Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.739Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.739Z] interactive performance.
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.739Z] to the graph:
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.739Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.739Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.739Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.739Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.739Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.739Z] themselves.
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.739Z] of how to use transforms.
[2024-06-23T21:30:37.739Z] """
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.739Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.739Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] import copy
[2024-06-23T21:30:37.739Z] import functools
[2024-06-23T21:30:37.739Z] import textwrap
[2024-06-23T21:30:37.739Z] import weakref
[2024-06-23T21:30:37.739Z] import math
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] import numpy as np
[2024-06-23T21:30:37.739Z] from numpy.linalg import inv
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] from matplotlib import _api
[2024-06-23T21:30:37.739Z] > from matplotlib._path import (
[2024-06-23T21:30:37.739Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.739Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.739Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.739Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.739Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.739Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.739Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.739Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.739Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.739Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.739Z] code = main()
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.739Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.739Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.739Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.739Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.739Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.739Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.739Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.739Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.739Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.739Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.739Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.739Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.739Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.739Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.739Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.739Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.739Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.739Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.739Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.739Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.739Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.739Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.739Z] item.runtest()
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.739Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.739Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.739Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.739Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.739Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.739Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 587, in test_filled_random_corner_mask_chunk_threads
[2024-06-23T21:30:37.739Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.739Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.739Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.739Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.739Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.739Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.739Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.739Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.739Z] from matplotlib._path import (
[2024-06-23T21:30:37.739Z] Traceback (most recent call last):
[2024-06-23T21:30:37.739Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.739Z] raise ImportError(msg)
[2024-06-23T21:30:37.739Z] ImportError:
[2024-06-23T21:30:37.739Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.739Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.739Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.739Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.739Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.739Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] __ test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset] ___
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] fill_type = <FillType.ChunkCombinedOffsetOffset: 206>, thread_count = 3
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] @pytest.mark.image
[2024-06-23T21:30:37.739Z] @pytest.mark.threads
[2024-06-23T21:30:37.739Z] @pytest.mark.parametrize("fill_type", FillType.__members__.values())
[2024-06-23T21:30:37.739Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:37.739Z] def test_filled_random_corner_mask_chunk_threads(fill_type: FillType, thread_count: int) -> None:
[2024-06-23T21:30:37.739Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] tests/test_filled.py:587:
[2024-06-23T21:30:37.739Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.739Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.739Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.739Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.739Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.739Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.739Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.739Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.739Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.739Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.739Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.739Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.739Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.739Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] """
[2024-06-23T21:30:37.739Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.739Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.739Z] elements drawn on the canvas.
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.739Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.739Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.739Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.739Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.739Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.739Z] interactive performance.
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.739Z] to the graph:
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.739Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.739Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.739Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.739Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.739Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.739Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.739Z] themselves.
[2024-06-23T21:30:37.739Z]
[2024-06-23T21:30:37.740Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.740Z] of how to use transforms.
[2024-06-23T21:30:37.740Z] """
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.740Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.740Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] import copy
[2024-06-23T21:30:37.740Z] import functools
[2024-06-23T21:30:37.740Z] import textwrap
[2024-06-23T21:30:37.740Z] import weakref
[2024-06-23T21:30:37.740Z] import math
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] import numpy as np
[2024-06-23T21:30:37.740Z] from numpy.linalg import inv
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] from matplotlib import _api
[2024-06-23T21:30:37.740Z] > from matplotlib._path import (
[2024-06-23T21:30:37.740Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.740Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.740Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.740Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.740Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.740Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.740Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.740Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.740Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.740Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.740Z] code = main()
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.740Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.740Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.740Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.740Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.740Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.740Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.740Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.740Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.740Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.740Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.740Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.740Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.740Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.740Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.740Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.740Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.740Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.740Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.740Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.740Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.740Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.740Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.740Z] item.runtest()
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.740Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.740Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.740Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.740Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.740Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.740Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 587, in test_filled_random_corner_mask_chunk_threads
[2024-06-23T21:30:37.740Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.740Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.740Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.740Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.740Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.740Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.740Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.740Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.740Z] from matplotlib._path import (
[2024-06-23T21:30:37.740Z] Traceback (most recent call last):
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.740Z] raise ImportError(msg)
[2024-06-23T21:30:37.740Z] ImportError:
[2024-06-23T21:30:37.740Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.740Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.740Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.740Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.740Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.740Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] ____________________ test_filled_random_quad_as_tri[serial] ____________________
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] name = 'serial'
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] @pytest.mark.image
[2024-06-23T21:30:37.740Z] @pytest.mark.parametrize("name", util_test.quad_as_tri_names())
[2024-06-23T21:30:37.740Z] def test_filled_random_quad_as_tri(name: str) -> None:
[2024-06-23T21:30:37.740Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] tests/test_filled.py:617:
[2024-06-23T21:30:37.740Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.740Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.740Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.740Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.740Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.740Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.740Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.740Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.740Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.740Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.740Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.740Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.740Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.740Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] """
[2024-06-23T21:30:37.740Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.740Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.740Z] elements drawn on the canvas.
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.740Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.740Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.740Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.740Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.740Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.740Z] interactive performance.
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.740Z] to the graph:
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.740Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.740Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.740Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.740Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.740Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.740Z] themselves.
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.740Z] of how to use transforms.
[2024-06-23T21:30:37.740Z] """
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.740Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.740Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] import copy
[2024-06-23T21:30:37.740Z] import functools
[2024-06-23T21:30:37.740Z] import textwrap
[2024-06-23T21:30:37.740Z] import weakref
[2024-06-23T21:30:37.740Z] import math
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] import numpy as np
[2024-06-23T21:30:37.740Z] from numpy.linalg import inv
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] from matplotlib import _api
[2024-06-23T21:30:37.740Z] > from matplotlib._path import (
[2024-06-23T21:30:37.740Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.740Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.740Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.740Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.740Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.740Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.740Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.740Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.740Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.740Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.740Z] code = main()
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.740Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.740Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.740Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.740Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.740Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.740Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.740Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.740Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.740Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.740Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.740Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.740Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.740Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.740Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.740Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.740Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.740Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.740Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.740Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.740Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.740Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.740Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.740Z] item.runtest()
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.740Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.740Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.740Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.740Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.740Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.740Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 617, in test_filled_random_quad_as_tri
[2024-06-23T21:30:37.740Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.740Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.740Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.740Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.740Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.740Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.740Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.740Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.740Z] from matplotlib._path import (
[2024-06-23T21:30:37.740Z] Traceback (most recent call last):
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.740Z] raise ImportError(msg)
[2024-06-23T21:30:37.740Z] ImportError:
[2024-06-23T21:30:37.740Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.740Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.740Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.740Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.740Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.740Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] ___________________ test_filled_random_quad_as_tri[threaded] ___________________
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] name = 'threaded'
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] @pytest.mark.image
[2024-06-23T21:30:37.740Z] @pytest.mark.parametrize("name", util_test.quad_as_tri_names())
[2024-06-23T21:30:37.740Z] def test_filled_random_quad_as_tri(name: str) -> None:
[2024-06-23T21:30:37.740Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] tests/test_filled.py:617:
[2024-06-23T21:30:37.740Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.740Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.740Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.740Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.740Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.740Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.740Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.740Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.740Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.740Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.740Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.740Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.740Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.740Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] """
[2024-06-23T21:30:37.740Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.740Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.740Z] elements drawn on the canvas.
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.740Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.740Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.740Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.740Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.740Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.740Z] interactive performance.
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.740Z] to the graph:
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.740Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.740Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.740Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.740Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.740Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.740Z] themselves.
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.740Z] of how to use transforms.
[2024-06-23T21:30:37.740Z] """
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.740Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.740Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] import copy
[2024-06-23T21:30:37.740Z] import functools
[2024-06-23T21:30:37.740Z] import textwrap
[2024-06-23T21:30:37.740Z] import weakref
[2024-06-23T21:30:37.740Z] import math
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] import numpy as np
[2024-06-23T21:30:37.740Z] from numpy.linalg import inv
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] from matplotlib import _api
[2024-06-23T21:30:37.740Z] > from matplotlib._path import (
[2024-06-23T21:30:37.740Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.740Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.740Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.740Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.740Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.740Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.740Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.740Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.740Z]
[2024-06-23T21:30:37.740Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.740Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.740Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.740Z] code = main()
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.740Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.740Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.740Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.740Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.740Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.740Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.740Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.740Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.740Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.740Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.740Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.740Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.740Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.740Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.740Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.740Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.740Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.741Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.741Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.741Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.741Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.741Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.741Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.741Z] item.runtest()
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.741Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.741Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.741Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.741Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.741Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.741Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_filled.py", line 617, in test_filled_random_quad_as_tri
[2024-06-23T21:30:37.741Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.741Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.741Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.741Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.741Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.741Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.741Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.741Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.741Z] from matplotlib._path import (
[2024-06-23T21:30:37.741Z] Traceback (most recent call last):
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.741Z] raise ImportError(msg)
[2024-06-23T21:30:37.741Z] ImportError:
[2024-06-23T21:30:37.741Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.741Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.741Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.741Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.741Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.741Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] ___________________ test_lines_simple[mpl2005-SeparateCode] ____________________
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] name = 'mpl2005', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] @pytest.mark.image
[2024-06-23T21:30:37.741Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.741Z] def test_lines_simple(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.741Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] tests/test_lines.py:118:
[2024-06-23T21:30:37.741Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.741Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.741Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.741Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.741Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.741Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.741Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.741Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.741Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.741Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.741Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.741Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.741Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.741Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] """
[2024-06-23T21:30:37.741Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.741Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.741Z] elements drawn on the canvas.
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.741Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.741Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.741Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.741Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.741Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.741Z] interactive performance.
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.741Z] to the graph:
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.741Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.741Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.741Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.741Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.741Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.741Z] themselves.
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.741Z] of how to use transforms.
[2024-06-23T21:30:37.741Z] """
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.741Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.741Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] import copy
[2024-06-23T21:30:37.741Z] import functools
[2024-06-23T21:30:37.741Z] import textwrap
[2024-06-23T21:30:37.741Z] import weakref
[2024-06-23T21:30:37.741Z] import math
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] import numpy as np
[2024-06-23T21:30:37.741Z] from numpy.linalg import inv
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] from matplotlib import _api
[2024-06-23T21:30:37.741Z] > from matplotlib._path import (
[2024-06-23T21:30:37.741Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.741Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.741Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.741Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.741Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.741Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.741Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.741Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.741Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.741Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.741Z] code = main()
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.741Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.741Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.741Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.741Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.741Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.741Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.741Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.741Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.741Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.741Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.741Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.741Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.741Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.741Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.741Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.741Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.741Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.741Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.741Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.741Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.741Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.741Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.741Z] item.runtest()
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.741Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.741Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.741Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.741Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.741Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.741Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 118, in test_lines_simple
[2024-06-23T21:30:37.741Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.741Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.741Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.741Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.741Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.741Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.741Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.741Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.741Z] from matplotlib._path import (
[2024-06-23T21:30:37.741Z] Traceback (most recent call last):
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.741Z] raise ImportError(msg)
[2024-06-23T21:30:37.741Z] ImportError:
[2024-06-23T21:30:37.741Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.741Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.741Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.741Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.741Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.741Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] ___________________ test_lines_simple[mpl2014-SeparateCode] ____________________
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] name = 'mpl2014', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] @pytest.mark.image
[2024-06-23T21:30:37.741Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.741Z] def test_lines_simple(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.741Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] tests/test_lines.py:118:
[2024-06-23T21:30:37.741Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.741Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.741Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.741Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.741Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.741Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.741Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.741Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.741Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.741Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.741Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.741Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.741Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.741Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] """
[2024-06-23T21:30:37.741Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.741Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.741Z] elements drawn on the canvas.
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.741Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.741Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.741Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.741Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.741Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.741Z] interactive performance.
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.741Z] to the graph:
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.741Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.741Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.741Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.741Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.741Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.741Z] themselves.
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.741Z] of how to use transforms.
[2024-06-23T21:30:37.741Z] """
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.741Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.741Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] import copy
[2024-06-23T21:30:37.741Z] import functools
[2024-06-23T21:30:37.741Z] import textwrap
[2024-06-23T21:30:37.741Z] import weakref
[2024-06-23T21:30:37.741Z] import math
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] import numpy as np
[2024-06-23T21:30:37.741Z] from numpy.linalg import inv
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] from matplotlib import _api
[2024-06-23T21:30:37.741Z] > from matplotlib._path import (
[2024-06-23T21:30:37.741Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.741Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.741Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.741Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.741Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.741Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.741Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.741Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.741Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.741Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.741Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.741Z] code = main()
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.741Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.741Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.741Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.741Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.741Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.741Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.741Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.741Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.741Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.741Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.741Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.741Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.741Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.741Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.741Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.741Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.741Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.741Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.741Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.741Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.741Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.741Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.741Z] item.runtest()
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.741Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.741Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.741Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.741Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.741Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.741Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 118, in test_lines_simple
[2024-06-23T21:30:37.741Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.741Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.741Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.741Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.741Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.741Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.741Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.741Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.741Z] from matplotlib._path import (
[2024-06-23T21:30:37.741Z] Traceback (most recent call last):
[2024-06-23T21:30:37.741Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.741Z] raise ImportError(msg)
[2024-06-23T21:30:37.741Z] ImportError:
[2024-06-23T21:30:37.741Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.741Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.741Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.741Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.741Z]
[2024-06-23T21:30:37.742Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.742Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.742Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] ______________________ test_lines_simple[serial-Separate] ______________________
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] name = 'serial', line_type = <LineType.Separate: 101>
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] @pytest.mark.image
[2024-06-23T21:30:37.742Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.742Z] def test_lines_simple(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.742Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] tests/test_lines.py:118:
[2024-06-23T21:30:37.742Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.742Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.742Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.742Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.742Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.742Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.742Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.742Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.742Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.742Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.742Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.742Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.742Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.742Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] """
[2024-06-23T21:30:37.742Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.742Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.742Z] elements drawn on the canvas.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.742Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.742Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.742Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.742Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.742Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.742Z] interactive performance.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.742Z] to the graph:
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.742Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.742Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.742Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.742Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.742Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.742Z] themselves.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.742Z] of how to use transforms.
[2024-06-23T21:30:37.742Z] """
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.742Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.742Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] import copy
[2024-06-23T21:30:37.742Z] import functools
[2024-06-23T21:30:37.742Z] import textwrap
[2024-06-23T21:30:37.742Z] import weakref
[2024-06-23T21:30:37.742Z] import math
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] import numpy as np
[2024-06-23T21:30:37.742Z] from numpy.linalg import inv
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] from matplotlib import _api
[2024-06-23T21:30:37.742Z] > from matplotlib._path import (
[2024-06-23T21:30:37.742Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.742Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.742Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.742Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.742Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.742Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.742Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.742Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.742Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.742Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.742Z] code = main()
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.742Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.742Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.742Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.742Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.742Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.742Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.742Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.742Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.742Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.742Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.742Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.742Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.742Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.742Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.742Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.742Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.742Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.742Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.742Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.742Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.742Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.742Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.742Z] item.runtest()
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.742Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.742Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.742Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.742Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.742Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.742Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 118, in test_lines_simple
[2024-06-23T21:30:37.742Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.742Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.742Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.742Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.742Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.742Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.742Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.742Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.742Z] from matplotlib._path import (
[2024-06-23T21:30:37.742Z] Traceback (most recent call last):
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.742Z] raise ImportError(msg)
[2024-06-23T21:30:37.742Z] ImportError:
[2024-06-23T21:30:37.742Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.742Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.742Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.742Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.742Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.742Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] ____________________ test_lines_simple[serial-SeparateCode] ____________________
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] name = 'serial', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] @pytest.mark.image
[2024-06-23T21:30:37.742Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.742Z] def test_lines_simple(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.742Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] tests/test_lines.py:118:
[2024-06-23T21:30:37.742Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.742Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.742Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.742Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.742Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.742Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.742Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.742Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.742Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.742Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.742Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.742Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.742Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.742Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] """
[2024-06-23T21:30:37.742Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.742Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.742Z] elements drawn on the canvas.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.742Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.742Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.742Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.742Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.742Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.742Z] interactive performance.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.742Z] to the graph:
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.742Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.742Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.742Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.742Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.742Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.742Z] themselves.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.742Z] of how to use transforms.
[2024-06-23T21:30:37.742Z] """
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.742Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.742Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] import copy
[2024-06-23T21:30:37.742Z] import functools
[2024-06-23T21:30:37.742Z] import textwrap
[2024-06-23T21:30:37.742Z] import weakref
[2024-06-23T21:30:37.742Z] import math
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] import numpy as np
[2024-06-23T21:30:37.742Z] from numpy.linalg import inv
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] from matplotlib import _api
[2024-06-23T21:30:37.742Z] > from matplotlib._path import (
[2024-06-23T21:30:37.742Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.742Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.742Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.742Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.742Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.742Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.742Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.742Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.742Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.742Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.742Z] code = main()
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.742Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.742Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.742Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.742Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.742Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.742Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.742Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.742Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.742Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.742Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.742Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.742Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.742Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.742Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.742Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.742Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.742Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.742Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.742Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.742Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.742Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.742Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.742Z] item.runtest()
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.742Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.742Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.742Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.742Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.742Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.742Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 118, in test_lines_simple
[2024-06-23T21:30:37.742Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.742Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.742Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.742Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.742Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.742Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.742Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.742Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.742Z] from matplotlib._path import (
[2024-06-23T21:30:37.742Z] Traceback (most recent call last):
[2024-06-23T21:30:37.742Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.742Z] raise ImportError(msg)
[2024-06-23T21:30:37.742Z] ImportError:
[2024-06-23T21:30:37.742Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.742Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.742Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.742Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.742Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.742Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] _________________ test_lines_simple[serial-ChunkCombinedCode] __________________
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] name = 'serial', line_type = <LineType.ChunkCombinedCode: 103>
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] @pytest.mark.image
[2024-06-23T21:30:37.742Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.742Z] def test_lines_simple(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.742Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] tests/test_lines.py:118:
[2024-06-23T21:30:37.742Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.742Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.742Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.742Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.742Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.742Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.742Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.742Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.742Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.742Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.742Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.742Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.742Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.742Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] """
[2024-06-23T21:30:37.742Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.742Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.742Z] elements drawn on the canvas.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.742Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.742Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.742Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.742Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.742Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.742Z] interactive performance.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.742Z] to the graph:
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.742Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.742Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.742Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.742Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.742Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.742Z] themselves.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.742Z] of how to use transforms.
[2024-06-23T21:30:37.742Z] """
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.742Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.742Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] import copy
[2024-06-23T21:30:37.742Z] import functools
[2024-06-23T21:30:37.742Z] import textwrap
[2024-06-23T21:30:37.742Z] import weakref
[2024-06-23T21:30:37.742Z] import math
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] import numpy as np
[2024-06-23T21:30:37.742Z] from numpy.linalg import inv
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] from matplotlib import _api
[2024-06-23T21:30:37.742Z] > from matplotlib._path import (
[2024-06-23T21:30:37.742Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.742Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.742Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.742Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.742Z]
[2024-06-23T21:30:37.743Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.743Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.743Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.743Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.743Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.743Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.743Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.743Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.743Z] code = main()
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.743Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.743Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.743Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.743Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.743Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.743Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.743Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.743Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.743Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.743Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.743Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.743Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.743Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.743Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.743Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.743Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.743Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.743Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.743Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.743Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.743Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.743Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.743Z] item.runtest()
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.743Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.743Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.743Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.743Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.743Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.743Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 118, in test_lines_simple
[2024-06-23T21:30:37.743Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.743Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.743Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.743Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.743Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.743Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.743Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.743Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.743Z] from matplotlib._path import (
[2024-06-23T21:30:37.743Z] Traceback (most recent call last):
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.743Z] raise ImportError(msg)
[2024-06-23T21:30:37.743Z] ImportError:
[2024-06-23T21:30:37.743Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.743Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.743Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.743Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.743Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.743Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] ________________ test_lines_simple[serial-ChunkCombinedOffset] _________________
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] name = 'serial', line_type = <LineType.ChunkCombinedOffset: 104>
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] @pytest.mark.image
[2024-06-23T21:30:37.743Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.743Z] def test_lines_simple(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.743Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] tests/test_lines.py:118:
[2024-06-23T21:30:37.743Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.743Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.743Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.743Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.743Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.743Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.743Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.743Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.743Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.743Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.743Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.743Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.743Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.743Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] """
[2024-06-23T21:30:37.743Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.743Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.743Z] elements drawn on the canvas.
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.743Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.743Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.743Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.743Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.743Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.743Z] interactive performance.
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.743Z] to the graph:
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.743Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.743Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.743Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.743Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.743Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.743Z] themselves.
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.743Z] of how to use transforms.
[2024-06-23T21:30:37.743Z] """
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.743Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.743Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] import copy
[2024-06-23T21:30:37.743Z] import functools
[2024-06-23T21:30:37.743Z] import textwrap
[2024-06-23T21:30:37.743Z] import weakref
[2024-06-23T21:30:37.743Z] import math
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] import numpy as np
[2024-06-23T21:30:37.743Z] from numpy.linalg import inv
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] from matplotlib import _api
[2024-06-23T21:30:37.743Z] > from matplotlib._path import (
[2024-06-23T21:30:37.743Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.743Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.743Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.743Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.743Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.743Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.743Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.743Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.743Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.743Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.743Z] code = main()
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.743Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.743Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.743Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.743Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.743Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.743Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.743Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.743Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.743Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.743Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.743Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.743Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.743Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.743Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.743Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.743Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.743Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.743Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.743Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.743Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.743Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.743Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.743Z] item.runtest()
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.743Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.743Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.743Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.743Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.743Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.743Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 118, in test_lines_simple
[2024-06-23T21:30:37.743Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.743Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.743Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.743Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.743Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.743Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.743Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.743Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.743Z] from matplotlib._path import (
[2024-06-23T21:30:37.743Z] Traceback (most recent call last):
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.743Z] raise ImportError(msg)
[2024-06-23T21:30:37.743Z] ImportError:
[2024-06-23T21:30:37.743Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.743Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.743Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.743Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.743Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.743Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] __________________ test_lines_simple[serial-ChunkCombinedNan] __________________
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] name = 'serial', line_type = <LineType.ChunkCombinedNan: 105>
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] @pytest.mark.image
[2024-06-23T21:30:37.743Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.743Z] def test_lines_simple(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.743Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] tests/test_lines.py:118:
[2024-06-23T21:30:37.743Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.743Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.743Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.743Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.743Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.743Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.743Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.743Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.743Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.743Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.743Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.743Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.743Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.743Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] """
[2024-06-23T21:30:37.743Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.743Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.743Z] elements drawn on the canvas.
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.743Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.743Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.743Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.743Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.743Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.743Z] interactive performance.
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.743Z] to the graph:
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.743Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.743Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.743Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.743Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.743Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.743Z] themselves.
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.743Z] of how to use transforms.
[2024-06-23T21:30:37.743Z] """
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.743Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.743Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] import copy
[2024-06-23T21:30:37.743Z] import functools
[2024-06-23T21:30:37.743Z] import textwrap
[2024-06-23T21:30:37.743Z] import weakref
[2024-06-23T21:30:37.743Z] import math
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] import numpy as np
[2024-06-23T21:30:37.743Z] from numpy.linalg import inv
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] from matplotlib import _api
[2024-06-23T21:30:37.743Z] > from matplotlib._path import (
[2024-06-23T21:30:37.743Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.743Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.743Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.743Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.743Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.743Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.743Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.743Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.743Z]
[2024-06-23T21:30:37.743Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.743Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.743Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.743Z] code = main()
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.743Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.743Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.743Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.743Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.743Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.743Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.743Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.743Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.743Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.743Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.743Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.743Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.743Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.743Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.743Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.743Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.743Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.743Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.744Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.744Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.744Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.744Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.744Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.744Z] item.runtest()
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.744Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.744Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.744Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.744Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.744Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.744Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 118, in test_lines_simple
[2024-06-23T21:30:37.744Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.744Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.744Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.744Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.744Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.744Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.744Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.744Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.744Z] from matplotlib._path import (
[2024-06-23T21:30:37.744Z] Traceback (most recent call last):
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.744Z] raise ImportError(msg)
[2024-06-23T21:30:37.744Z] ImportError:
[2024-06-23T21:30:37.744Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.744Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.744Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.744Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.744Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.744Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] _____________________ test_lines_simple[threaded-Separate] _____________________
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] name = 'threaded', line_type = <LineType.Separate: 101>
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] @pytest.mark.image
[2024-06-23T21:30:37.744Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.744Z] def test_lines_simple(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.744Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] tests/test_lines.py:118:
[2024-06-23T21:30:37.744Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.744Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.744Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.744Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.744Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.744Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.744Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.744Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.744Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.744Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.744Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.744Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.744Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.744Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] """
[2024-06-23T21:30:37.744Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.744Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.744Z] elements drawn on the canvas.
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.744Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.744Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.744Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.744Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.744Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.744Z] interactive performance.
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.744Z] to the graph:
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.744Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.744Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.744Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.744Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.744Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.744Z] themselves.
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.744Z] of how to use transforms.
[2024-06-23T21:30:37.744Z] """
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.744Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.744Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] import copy
[2024-06-23T21:30:37.744Z] import functools
[2024-06-23T21:30:37.744Z] import textwrap
[2024-06-23T21:30:37.744Z] import weakref
[2024-06-23T21:30:37.744Z] import math
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] import numpy as np
[2024-06-23T21:30:37.744Z] from numpy.linalg import inv
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] from matplotlib import _api
[2024-06-23T21:30:37.744Z] > from matplotlib._path import (
[2024-06-23T21:30:37.744Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.744Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.744Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.744Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.744Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.744Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.744Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.744Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.744Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.744Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.744Z] code = main()
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.744Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.744Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.744Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.744Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.744Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.744Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.744Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.744Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.744Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.744Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.744Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.744Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.744Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.744Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.744Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.744Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.744Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.744Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.744Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.744Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.744Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.744Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.744Z] item.runtest()
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.744Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.744Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.744Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.744Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.744Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.744Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 118, in test_lines_simple
[2024-06-23T21:30:37.744Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.744Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.744Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.744Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.744Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.744Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.744Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.744Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.744Z] from matplotlib._path import (
[2024-06-23T21:30:37.744Z] Traceback (most recent call last):
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.744Z] raise ImportError(msg)
[2024-06-23T21:30:37.744Z] ImportError:
[2024-06-23T21:30:37.744Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.744Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.744Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.744Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.744Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.744Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] ___________________ test_lines_simple[threaded-SeparateCode] ___________________
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] name = 'threaded', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] @pytest.mark.image
[2024-06-23T21:30:37.744Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.744Z] def test_lines_simple(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.744Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] tests/test_lines.py:118:
[2024-06-23T21:30:37.744Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.744Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.744Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.744Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.744Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.744Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.744Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.744Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.744Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.744Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.744Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.744Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.744Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.744Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] """
[2024-06-23T21:30:37.744Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.744Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.744Z] elements drawn on the canvas.
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.744Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.744Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.744Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.744Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.744Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.744Z] interactive performance.
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.744Z] to the graph:
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.744Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.744Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.744Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.744Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.744Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.744Z] themselves.
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.744Z] of how to use transforms.
[2024-06-23T21:30:37.744Z] """
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.744Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.744Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] import copy
[2024-06-23T21:30:37.744Z] import functools
[2024-06-23T21:30:37.744Z] import textwrap
[2024-06-23T21:30:37.744Z] import weakref
[2024-06-23T21:30:37.744Z] import math
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] import numpy as np
[2024-06-23T21:30:37.744Z] from numpy.linalg import inv
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] from matplotlib import _api
[2024-06-23T21:30:37.744Z] > from matplotlib._path import (
[2024-06-23T21:30:37.744Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.744Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.744Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.744Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.744Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.744Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.744Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.744Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.744Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.744Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.744Z] code = main()
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.744Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.744Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.744Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.744Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.744Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.744Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.744Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.744Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.744Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.744Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.744Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.744Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.744Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.744Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.744Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.744Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.744Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.744Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.744Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.744Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.744Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.744Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.744Z] item.runtest()
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.744Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.744Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.744Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.744Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.744Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.744Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 118, in test_lines_simple
[2024-06-23T21:30:37.744Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.744Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.744Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.744Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.744Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.744Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.744Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.744Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.744Z] from matplotlib._path import (
[2024-06-23T21:30:37.744Z] Traceback (most recent call last):
[2024-06-23T21:30:37.744Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.744Z] raise ImportError(msg)
[2024-06-23T21:30:37.744Z] ImportError:
[2024-06-23T21:30:37.744Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.744Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.744Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.744Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.744Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.744Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] ________________ test_lines_simple[threaded-ChunkCombinedCode] _________________
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] name = 'threaded', line_type = <LineType.ChunkCombinedCode: 103>
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] @pytest.mark.image
[2024-06-23T21:30:37.744Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.744Z] def test_lines_simple(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.744Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.744Z]
[2024-06-23T21:30:37.744Z] tests/test_lines.py:118:
[2024-06-23T21:30:37.744Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.744Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.744Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.744Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.744Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.744Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.745Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.745Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.745Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.745Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.745Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.745Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.745Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.745Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] """
[2024-06-23T21:30:37.745Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.745Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.745Z] elements drawn on the canvas.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.745Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.745Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.745Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.745Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.745Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.745Z] interactive performance.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.745Z] to the graph:
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.745Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.745Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.745Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.745Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.745Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.745Z] themselves.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.745Z] of how to use transforms.
[2024-06-23T21:30:37.745Z] """
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.745Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.745Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] import copy
[2024-06-23T21:30:37.745Z] import functools
[2024-06-23T21:30:37.745Z] import textwrap
[2024-06-23T21:30:37.745Z] import weakref
[2024-06-23T21:30:37.745Z] import math
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] import numpy as np
[2024-06-23T21:30:37.745Z] from numpy.linalg import inv
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] from matplotlib import _api
[2024-06-23T21:30:37.745Z] > from matplotlib._path import (
[2024-06-23T21:30:37.745Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.745Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.745Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.745Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.745Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.745Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.745Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.745Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.745Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.745Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.745Z] code = main()
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.745Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.745Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.745Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.745Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.745Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.745Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.745Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.745Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.745Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.745Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.745Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.745Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.745Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.745Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.745Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.745Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.745Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.745Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.745Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.745Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.745Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.745Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.745Z] item.runtest()
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.745Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.745Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.745Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.745Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.745Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.745Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 118, in test_lines_simple
[2024-06-23T21:30:37.745Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.745Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.745Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.745Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.745Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.745Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.745Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.745Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.745Z] from matplotlib._path import (
[2024-06-23T21:30:37.745Z] Traceback (most recent call last):
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.745Z] raise ImportError(msg)
[2024-06-23T21:30:37.745Z] ImportError:
[2024-06-23T21:30:37.745Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.745Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.745Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.745Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.745Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.745Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] _______________ test_lines_simple[threaded-ChunkCombinedOffset] ________________
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] name = 'threaded', line_type = <LineType.ChunkCombinedOffset: 104>
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] @pytest.mark.image
[2024-06-23T21:30:37.745Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.745Z] def test_lines_simple(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.745Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] tests/test_lines.py:118:
[2024-06-23T21:30:37.745Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.745Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.745Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.745Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.745Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.745Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.745Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.745Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.745Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.745Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.745Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.745Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.745Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.745Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] """
[2024-06-23T21:30:37.745Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.745Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.745Z] elements drawn on the canvas.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.745Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.745Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.745Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.745Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.745Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.745Z] interactive performance.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.745Z] to the graph:
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.745Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.745Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.745Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.745Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.745Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.745Z] themselves.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.745Z] of how to use transforms.
[2024-06-23T21:30:37.745Z] """
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.745Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.745Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] import copy
[2024-06-23T21:30:37.745Z] import functools
[2024-06-23T21:30:37.745Z] import textwrap
[2024-06-23T21:30:37.745Z] import weakref
[2024-06-23T21:30:37.745Z] import math
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] import numpy as np
[2024-06-23T21:30:37.745Z] from numpy.linalg import inv
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] from matplotlib import _api
[2024-06-23T21:30:37.745Z] > from matplotlib._path import (
[2024-06-23T21:30:37.745Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.745Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.745Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.745Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.745Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.745Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.745Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.745Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.745Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.745Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.745Z] code = main()
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.745Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.745Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.745Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.745Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.745Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.745Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.745Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.745Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.745Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.745Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.745Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.745Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.745Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.745Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.745Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.745Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.745Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.745Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.745Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.745Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.745Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.745Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.745Z] item.runtest()
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.745Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.745Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.745Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.745Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.745Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.745Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 118, in test_lines_simple
[2024-06-23T21:30:37.745Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.745Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.745Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.745Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.745Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.745Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.745Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.745Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.745Z] from matplotlib._path import (
[2024-06-23T21:30:37.745Z] Traceback (most recent call last):
[2024-06-23T21:30:37.745Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.745Z] raise ImportError(msg)
[2024-06-23T21:30:37.745Z] ImportError:
[2024-06-23T21:30:37.745Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.745Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.745Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.745Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.745Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.745Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] _________________ test_lines_simple[threaded-ChunkCombinedNan] _________________
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] name = 'threaded', line_type = <LineType.ChunkCombinedNan: 105>
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] @pytest.mark.image
[2024-06-23T21:30:37.745Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.745Z] def test_lines_simple(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.745Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] tests/test_lines.py:118:
[2024-06-23T21:30:37.745Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.745Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.745Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.745Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.745Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.745Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.745Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.745Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.745Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.745Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.745Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.745Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.745Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.745Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] """
[2024-06-23T21:30:37.745Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.745Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.745Z] elements drawn on the canvas.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.745Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.745Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.745Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.745Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.745Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.745Z] interactive performance.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.745Z] to the graph:
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.745Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.745Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.745Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.745Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.745Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.745Z] themselves.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.745Z] of how to use transforms.
[2024-06-23T21:30:37.745Z] """
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.745Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.745Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] import copy
[2024-06-23T21:30:37.745Z] import functools
[2024-06-23T21:30:37.745Z] import textwrap
[2024-06-23T21:30:37.745Z] import weakref
[2024-06-23T21:30:37.745Z] import math
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] import numpy as np
[2024-06-23T21:30:37.745Z] from numpy.linalg import inv
[2024-06-23T21:30:37.745Z]
[2024-06-23T21:30:37.745Z] from matplotlib import _api
[2024-06-23T21:30:37.745Z] > from matplotlib._path import (
[2024-06-23T21:30:37.745Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.745Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.746Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.746Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.746Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.746Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.746Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.746Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.746Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.746Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.746Z] code = main()
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.746Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.746Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.746Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.746Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.746Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.746Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.746Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.746Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.746Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.746Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.746Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.746Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.746Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.746Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.746Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.746Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.746Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.746Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.746Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.746Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.746Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.746Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.746Z] item.runtest()
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.746Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.746Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.746Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.746Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.746Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.746Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 118, in test_lines_simple
[2024-06-23T21:30:37.746Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.746Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.746Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.746Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.746Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.746Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.746Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.746Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.746Z] from matplotlib._path import (
[2024-06-23T21:30:37.746Z] Traceback (most recent call last):
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.746Z] raise ImportError(msg)
[2024-06-23T21:30:37.746Z] ImportError:
[2024-06-23T21:30:37.746Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.746Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.746Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.746Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.746Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.746Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] ________________ test_lines_simple_chunk[mpl2005-SeparateCode] _________________
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] name = 'mpl2005', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] @pytest.mark.image
[2024-06-23T21:30:37.746Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.746Z] def test_lines_simple_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.746Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] tests/test_lines.py:141:
[2024-06-23T21:30:37.746Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.746Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.746Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.746Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.746Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.746Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.746Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.746Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.746Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.746Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.746Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.746Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.746Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.746Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] """
[2024-06-23T21:30:37.746Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.746Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.746Z] elements drawn on the canvas.
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.746Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.746Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.746Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.746Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.746Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.746Z] interactive performance.
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.746Z] to the graph:
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.746Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.746Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.746Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.746Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.746Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.746Z] themselves.
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.746Z] of how to use transforms.
[2024-06-23T21:30:37.746Z] """
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.746Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.746Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] import copy
[2024-06-23T21:30:37.746Z] import functools
[2024-06-23T21:30:37.746Z] import textwrap
[2024-06-23T21:30:37.746Z] import weakref
[2024-06-23T21:30:37.746Z] import math
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] import numpy as np
[2024-06-23T21:30:37.746Z] from numpy.linalg import inv
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] from matplotlib import _api
[2024-06-23T21:30:37.746Z] > from matplotlib._path import (
[2024-06-23T21:30:37.746Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.746Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.746Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.746Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.746Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.746Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.746Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.746Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.746Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.746Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.746Z] code = main()
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.746Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.746Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.746Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.746Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.746Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.746Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.746Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.746Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.746Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.746Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.746Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.746Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.746Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.746Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.746Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.746Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.746Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.746Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.746Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.746Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.746Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.746Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.746Z] item.runtest()
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.746Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.746Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.746Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.746Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.746Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.746Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 141, in test_lines_simple_chunk
[2024-06-23T21:30:37.746Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.746Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.746Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.746Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.746Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.746Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.746Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.746Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.746Z] from matplotlib._path import (
[2024-06-23T21:30:37.746Z] Traceback (most recent call last):
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.746Z] raise ImportError(msg)
[2024-06-23T21:30:37.746Z] ImportError:
[2024-06-23T21:30:37.746Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.746Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.746Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.746Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.746Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.746Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] ________________ test_lines_simple_chunk[mpl2014-SeparateCode] _________________
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] name = 'mpl2014', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] @pytest.mark.image
[2024-06-23T21:30:37.746Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.746Z] def test_lines_simple_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.746Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] tests/test_lines.py:141:
[2024-06-23T21:30:37.746Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.746Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.746Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.746Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.746Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.746Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.746Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.746Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.746Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.746Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.746Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.746Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.746Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.746Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] """
[2024-06-23T21:30:37.746Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.746Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.746Z] elements drawn on the canvas.
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.746Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.746Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.746Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.746Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.746Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.746Z] interactive performance.
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.746Z] to the graph:
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.746Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.746Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.746Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.746Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.746Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.746Z] themselves.
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.746Z] of how to use transforms.
[2024-06-23T21:30:37.746Z] """
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.746Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.746Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] import copy
[2024-06-23T21:30:37.746Z] import functools
[2024-06-23T21:30:37.746Z] import textwrap
[2024-06-23T21:30:37.746Z] import weakref
[2024-06-23T21:30:37.746Z] import math
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] import numpy as np
[2024-06-23T21:30:37.746Z] from numpy.linalg import inv
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] from matplotlib import _api
[2024-06-23T21:30:37.746Z] > from matplotlib._path import (
[2024-06-23T21:30:37.746Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.746Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.746Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.746Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.746Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.746Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.746Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.746Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.746Z]
[2024-06-23T21:30:37.746Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.746Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.746Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.746Z] code = main()
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.746Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.746Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.746Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.746Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.746Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.746Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.746Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.746Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.746Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.746Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.746Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.746Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.746Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.746Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.746Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.746Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.746Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.746Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.746Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.746Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.746Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.746Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.746Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.746Z] item.runtest()
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.747Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.747Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.747Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.747Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.747Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.747Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 141, in test_lines_simple_chunk
[2024-06-23T21:30:37.747Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.747Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.747Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.747Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.747Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.747Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.747Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.747Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.747Z] from matplotlib._path import (
[2024-06-23T21:30:37.747Z] Traceback (most recent call last):
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.747Z] raise ImportError(msg)
[2024-06-23T21:30:37.747Z] ImportError:
[2024-06-23T21:30:37.747Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.747Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.747Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.747Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.747Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.747Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] ___________________ test_lines_simple_chunk[serial-Separate] ___________________
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] name = 'serial', line_type = <LineType.Separate: 101>
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] @pytest.mark.image
[2024-06-23T21:30:37.747Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.747Z] def test_lines_simple_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.747Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] tests/test_lines.py:141:
[2024-06-23T21:30:37.747Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.747Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.747Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.747Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.747Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.747Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.747Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.747Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.747Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.747Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.747Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.747Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.747Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.747Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] """
[2024-06-23T21:30:37.747Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.747Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.747Z] elements drawn on the canvas.
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.747Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.747Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.747Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.747Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.747Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.747Z] interactive performance.
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.747Z] to the graph:
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.747Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.747Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.747Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.747Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.747Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.747Z] themselves.
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.747Z] of how to use transforms.
[2024-06-23T21:30:37.747Z] """
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.747Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.747Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] import copy
[2024-06-23T21:30:37.747Z] import functools
[2024-06-23T21:30:37.747Z] import textwrap
[2024-06-23T21:30:37.747Z] import weakref
[2024-06-23T21:30:37.747Z] import math
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] import numpy as np
[2024-06-23T21:30:37.747Z] from numpy.linalg import inv
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] from matplotlib import _api
[2024-06-23T21:30:37.747Z] > from matplotlib._path import (
[2024-06-23T21:30:37.747Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.747Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.747Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.747Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.747Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.747Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.747Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.747Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.747Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.747Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.747Z] code = main()
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.747Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.747Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.747Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.747Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.747Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.747Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.747Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.747Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.747Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.747Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.747Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.747Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.747Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.747Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.747Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.747Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.747Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.747Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.747Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.747Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.747Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.747Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.747Z] item.runtest()
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.747Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.747Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.747Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.747Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.747Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.747Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 141, in test_lines_simple_chunk
[2024-06-23T21:30:37.747Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.747Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.747Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.747Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.747Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.747Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.747Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.747Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.747Z] from matplotlib._path import (
[2024-06-23T21:30:37.747Z] Traceback (most recent call last):
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.747Z] raise ImportError(msg)
[2024-06-23T21:30:37.747Z] ImportError:
[2024-06-23T21:30:37.747Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.747Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.747Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.747Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.747Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.747Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] _________________ test_lines_simple_chunk[serial-SeparateCode] _________________
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] name = 'serial', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] @pytest.mark.image
[2024-06-23T21:30:37.747Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.747Z] def test_lines_simple_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.747Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] tests/test_lines.py:141:
[2024-06-23T21:30:37.747Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.747Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.747Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.747Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.747Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.747Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.747Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.747Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.747Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.747Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.747Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.747Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.747Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.747Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] """
[2024-06-23T21:30:37.747Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.747Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.747Z] elements drawn on the canvas.
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.747Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.747Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.747Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.747Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.747Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.747Z] interactive performance.
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.747Z] to the graph:
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.747Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.747Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.747Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.747Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.747Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.747Z] themselves.
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.747Z] of how to use transforms.
[2024-06-23T21:30:37.747Z] """
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.747Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.747Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] import copy
[2024-06-23T21:30:37.747Z] import functools
[2024-06-23T21:30:37.747Z] import textwrap
[2024-06-23T21:30:37.747Z] import weakref
[2024-06-23T21:30:37.747Z] import math
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] import numpy as np
[2024-06-23T21:30:37.747Z] from numpy.linalg import inv
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] from matplotlib import _api
[2024-06-23T21:30:37.747Z] > from matplotlib._path import (
[2024-06-23T21:30:37.747Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.747Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.747Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.747Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.747Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.747Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.747Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.747Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.747Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.747Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.747Z] code = main()
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.747Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.747Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.747Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.747Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.747Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.747Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.747Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.747Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.747Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.747Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.747Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.747Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.747Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.747Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.747Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.747Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.747Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.747Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.747Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.747Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.747Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.747Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.747Z] item.runtest()
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.747Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.747Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.747Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.747Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.747Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.747Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 141, in test_lines_simple_chunk
[2024-06-23T21:30:37.747Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.747Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.747Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.747Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.747Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.747Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.747Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.747Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.747Z] from matplotlib._path import (
[2024-06-23T21:30:37.747Z] Traceback (most recent call last):
[2024-06-23T21:30:37.747Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.747Z] raise ImportError(msg)
[2024-06-23T21:30:37.747Z] ImportError:
[2024-06-23T21:30:37.747Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.747Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.747Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.747Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.747Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.747Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] ______________ test_lines_simple_chunk[serial-ChunkCombinedCode] _______________
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] name = 'serial', line_type = <LineType.ChunkCombinedCode: 103>
[2024-06-23T21:30:37.747Z]
[2024-06-23T21:30:37.747Z] @pytest.mark.image
[2024-06-23T21:30:37.747Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.748Z] def test_lines_simple_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.748Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] tests/test_lines.py:141:
[2024-06-23T21:30:37.748Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.748Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.748Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.748Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.748Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.748Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.748Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.748Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.748Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.748Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.748Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.748Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.748Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.748Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] """
[2024-06-23T21:30:37.748Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.748Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.748Z] elements drawn on the canvas.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.748Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.748Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.748Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.748Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.748Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.748Z] interactive performance.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.748Z] to the graph:
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.748Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.748Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.748Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.748Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.748Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.748Z] themselves.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.748Z] of how to use transforms.
[2024-06-23T21:30:37.748Z] """
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.748Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.748Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] import copy
[2024-06-23T21:30:37.748Z] import functools
[2024-06-23T21:30:37.748Z] import textwrap
[2024-06-23T21:30:37.748Z] import weakref
[2024-06-23T21:30:37.748Z] import math
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] import numpy as np
[2024-06-23T21:30:37.748Z] from numpy.linalg import inv
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] from matplotlib import _api
[2024-06-23T21:30:37.748Z] > from matplotlib._path import (
[2024-06-23T21:30:37.748Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.748Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.748Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.748Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.748Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.748Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.748Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.748Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.748Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.748Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.748Z] code = main()
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.748Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.748Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.748Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.748Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.748Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.748Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.748Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.748Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.748Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.748Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.748Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.748Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.748Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.748Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.748Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.748Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.748Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.748Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.748Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.748Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.748Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.748Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.748Z] item.runtest()
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.748Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.748Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.748Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.748Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.748Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.748Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 141, in test_lines_simple_chunk
[2024-06-23T21:30:37.748Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.748Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.748Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.748Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.748Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.748Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.748Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.748Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.748Z] from matplotlib._path import (
[2024-06-23T21:30:37.748Z] Traceback (most recent call last):
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.748Z] raise ImportError(msg)
[2024-06-23T21:30:37.748Z] ImportError:
[2024-06-23T21:30:37.748Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.748Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.748Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.748Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.748Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.748Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] _____________ test_lines_simple_chunk[serial-ChunkCombinedOffset] ______________
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] name = 'serial', line_type = <LineType.ChunkCombinedOffset: 104>
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] @pytest.mark.image
[2024-06-23T21:30:37.748Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.748Z] def test_lines_simple_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.748Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] tests/test_lines.py:141:
[2024-06-23T21:30:37.748Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.748Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.748Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.748Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.748Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.748Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.748Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.748Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.748Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.748Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.748Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.748Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.748Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.748Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] """
[2024-06-23T21:30:37.748Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.748Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.748Z] elements drawn on the canvas.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.748Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.748Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.748Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.748Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.748Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.748Z] interactive performance.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.748Z] to the graph:
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.748Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.748Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.748Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.748Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.748Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.748Z] themselves.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.748Z] of how to use transforms.
[2024-06-23T21:30:37.748Z] """
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.748Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.748Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] import copy
[2024-06-23T21:30:37.748Z] import functools
[2024-06-23T21:30:37.748Z] import textwrap
[2024-06-23T21:30:37.748Z] import weakref
[2024-06-23T21:30:37.748Z] import math
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] import numpy as np
[2024-06-23T21:30:37.748Z] from numpy.linalg import inv
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] from matplotlib import _api
[2024-06-23T21:30:37.748Z] > from matplotlib._path import (
[2024-06-23T21:30:37.748Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.748Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.748Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.748Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.748Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.748Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.748Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.748Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.748Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.748Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.748Z] code = main()
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.748Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.748Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.748Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.748Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.748Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.748Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.748Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.748Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.748Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.748Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.748Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.748Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.748Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.748Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.748Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.748Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.748Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.748Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.748Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.748Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.748Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.748Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.748Z] item.runtest()
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.748Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.748Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.748Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.748Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.748Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.748Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 141, in test_lines_simple_chunk
[2024-06-23T21:30:37.748Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.748Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.748Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.748Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.748Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.748Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.748Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.748Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.748Z] from matplotlib._path import (
[2024-06-23T21:30:37.748Z] Traceback (most recent call last):
[2024-06-23T21:30:37.748Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.748Z] raise ImportError(msg)
[2024-06-23T21:30:37.748Z] ImportError:
[2024-06-23T21:30:37.748Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.748Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.748Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.748Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.748Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.748Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] _______________ test_lines_simple_chunk[serial-ChunkCombinedNan] _______________
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] name = 'serial', line_type = <LineType.ChunkCombinedNan: 105>
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] @pytest.mark.image
[2024-06-23T21:30:37.748Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.748Z] def test_lines_simple_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.748Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] tests/test_lines.py:141:
[2024-06-23T21:30:37.748Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.748Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.748Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.748Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.748Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.748Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.748Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.748Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.748Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.748Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.748Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.748Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.748Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.748Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] """
[2024-06-23T21:30:37.748Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.748Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.748Z] elements drawn on the canvas.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:37.748Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:37.748Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:37.748Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:37.748Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:37.748Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:37.748Z] interactive performance.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:37.748Z] to the graph:
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:37.748Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:37.748Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:37.748Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:37.748Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:37.748Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] full transform == non-affine part + affine part
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:37.748Z] themselves.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:37.748Z] of how to use transforms.
[2024-06-23T21:30:37.748Z] """
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:37.748Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:37.748Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] import copy
[2024-06-23T21:30:37.748Z] import functools
[2024-06-23T21:30:37.748Z] import textwrap
[2024-06-23T21:30:37.748Z] import weakref
[2024-06-23T21:30:37.748Z] import math
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] import numpy as np
[2024-06-23T21:30:37.748Z] from numpy.linalg import inv
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] from matplotlib import _api
[2024-06-23T21:30:37.748Z] > from matplotlib._path import (
[2024-06-23T21:30:37.748Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:37.748Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:37.748Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.748Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.748Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.748Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.748Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.748Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.748Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.748Z]
[2024-06-23T21:30:37.749Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:37.749Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:37.749Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:37.749Z] code = main()
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:37.749Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.749Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.749Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.749Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:37.749Z] return wrap_session(config, _main)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:37.749Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:37.749Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.749Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.749Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.749Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:37.749Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.749Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.749Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.749Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:37.749Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:37.749Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:37.749Z] call = CallInfo.from_call(
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:37.749Z] result: Optional[TResult] = func()
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:37.749Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.749Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.749Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.749Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:37.749Z] item.runtest()
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:37.749Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:37.749Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:37.749Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:37.749Z] res = hook_impl.function(*args)
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:37.749Z] result = testfunction(**testargs)
[2024-06-23T21:30:37.749Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 141, in test_lines_simple_chunk
[2024-06-23T21:30:37.749Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.749Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:37.749Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:37.749Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:37.749Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:37.749Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:37.749Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:37.749Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:37.749Z] from matplotlib._path import (
[2024-06-23T21:30:37.749Z] Traceback (most recent call last):
[2024-06-23T21:30:37.749Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:37.749Z] raise ImportError(msg)
[2024-06-23T21:30:37.749Z] ImportError:
[2024-06-23T21:30:37.749Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:37.749Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:37.749Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:37.749Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:37.749Z]
[2024-06-23T21:30:37.749Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:37.749Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:37.749Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:37.749Z]
[2024-06-23T21:30:37.749Z]
[2024-06-23T21:30:37.749Z] __________________ test_lines_simple_chunk[threaded-Separate] __________________
[2024-06-23T21:30:37.749Z]
[2024-06-23T21:30:37.749Z] name = 'threaded', line_type = <LineType.Separate: 101>
[2024-06-23T21:30:37.749Z]
[2024-06-23T21:30:37.749Z] @pytest.mark.image
[2024-06-23T21:30:37.749Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:37.749Z] def test_lines_simple_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:37.749Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:37.749Z]
[2024-06-23T21:30:37.749Z] tests/test_lines.py:141:
[2024-06-23T21:30:37.749Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.749Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:37.749Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:37.749Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:37.749Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:37.749Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:37.749Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:37.749Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:37.749Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:37.749Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:37.749Z] from matplotlib.ticker import (
[2024-06-23T21:30:37.749Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:37.749Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:37.749Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:37.749Z]
[2024-06-23T21:30:37.749Z] """
[2024-06-23T21:30:37.749Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:37.749Z] transformations that is used determine the final position of all
[2024-06-23T21:30:37.749Z] elements drawn on the canvas.
[2024-06-23T21:30:37.749Z]
[2024-06-23T21:30:38.000Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.000Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.000Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.000Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.000Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.000Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.000Z] interactive performance.
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.000Z] to the graph:
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.000Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.000Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.000Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.000Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.000Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.000Z] themselves.
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.000Z] of how to use transforms.
[2024-06-23T21:30:38.000Z] """
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.000Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.000Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] import copy
[2024-06-23T21:30:38.000Z] import functools
[2024-06-23T21:30:38.000Z] import textwrap
[2024-06-23T21:30:38.000Z] import weakref
[2024-06-23T21:30:38.000Z] import math
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] import numpy as np
[2024-06-23T21:30:38.000Z] from numpy.linalg import inv
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] from matplotlib import _api
[2024-06-23T21:30:38.000Z] > from matplotlib._path import (
[2024-06-23T21:30:38.000Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.000Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.000Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.000Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.000Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.000Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.000Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.000Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.000Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.000Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.000Z] code = main()
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.000Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.000Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.000Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.000Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.000Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.000Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.000Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.000Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.000Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.000Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.000Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.000Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.000Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.000Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.000Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.000Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.000Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.000Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.000Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.000Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.000Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.000Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.000Z] item.runtest()
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.000Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.000Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.000Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.000Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.000Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.000Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 141, in test_lines_simple_chunk
[2024-06-23T21:30:38.000Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.000Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.000Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.000Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.000Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.000Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.000Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.000Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.000Z] from matplotlib._path import (
[2024-06-23T21:30:38.000Z] Traceback (most recent call last):
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.000Z] raise ImportError(msg)
[2024-06-23T21:30:38.000Z] ImportError:
[2024-06-23T21:30:38.000Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.000Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.000Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.000Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.000Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.000Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] ________________ test_lines_simple_chunk[threaded-SeparateCode] ________________
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] name = 'threaded', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] @pytest.mark.image
[2024-06-23T21:30:38.000Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.000Z] def test_lines_simple_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.000Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] tests/test_lines.py:141:
[2024-06-23T21:30:38.000Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.000Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.000Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.000Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.000Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.000Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.000Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.000Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.000Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.000Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.000Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.000Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.000Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.000Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] """
[2024-06-23T21:30:38.000Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.000Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.000Z] elements drawn on the canvas.
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.000Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.000Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.000Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.000Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.000Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.000Z] interactive performance.
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.000Z] to the graph:
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.000Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.000Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.000Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.000Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.000Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.000Z] themselves.
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.000Z] of how to use transforms.
[2024-06-23T21:30:38.000Z] """
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.000Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.000Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] import copy
[2024-06-23T21:30:38.000Z] import functools
[2024-06-23T21:30:38.000Z] import textwrap
[2024-06-23T21:30:38.000Z] import weakref
[2024-06-23T21:30:38.000Z] import math
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] import numpy as np
[2024-06-23T21:30:38.000Z] from numpy.linalg import inv
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] from matplotlib import _api
[2024-06-23T21:30:38.000Z] > from matplotlib._path import (
[2024-06-23T21:30:38.000Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.000Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.000Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.000Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.000Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.000Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.000Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.000Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.000Z]
[2024-06-23T21:30:38.000Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.000Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.000Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.000Z] code = main()
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.000Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.000Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.000Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.000Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.000Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.000Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.000Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.000Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.000Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.000Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.000Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.000Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.000Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.000Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.000Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.000Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.000Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.000Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.000Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.000Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.001Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.001Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.001Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.001Z] item.runtest()
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.001Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.001Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.001Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.001Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.001Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.001Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 141, in test_lines_simple_chunk
[2024-06-23T21:30:38.001Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.001Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.001Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.001Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.001Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.001Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.001Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.001Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.001Z] from matplotlib._path import (
[2024-06-23T21:30:38.001Z] Traceback (most recent call last):
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.001Z] raise ImportError(msg)
[2024-06-23T21:30:38.001Z] ImportError:
[2024-06-23T21:30:38.001Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.001Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.001Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.001Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.001Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.001Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] _____________ test_lines_simple_chunk[threaded-ChunkCombinedCode] ______________
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] name = 'threaded', line_type = <LineType.ChunkCombinedCode: 103>
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] @pytest.mark.image
[2024-06-23T21:30:38.001Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.001Z] def test_lines_simple_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.001Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] tests/test_lines.py:141:
[2024-06-23T21:30:38.001Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.001Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.001Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.001Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.001Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.001Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.001Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.001Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.001Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.001Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.001Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.001Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.001Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.001Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] """
[2024-06-23T21:30:38.001Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.001Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.001Z] elements drawn on the canvas.
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.001Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.001Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.001Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.001Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.001Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.001Z] interactive performance.
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.001Z] to the graph:
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.001Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.001Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.001Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.001Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.001Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.001Z] themselves.
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.001Z] of how to use transforms.
[2024-06-23T21:30:38.001Z] """
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.001Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.001Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] import copy
[2024-06-23T21:30:38.001Z] import functools
[2024-06-23T21:30:38.001Z] import textwrap
[2024-06-23T21:30:38.001Z] import weakref
[2024-06-23T21:30:38.001Z] import math
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] import numpy as np
[2024-06-23T21:30:38.001Z] from numpy.linalg import inv
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] from matplotlib import _api
[2024-06-23T21:30:38.001Z] > from matplotlib._path import (
[2024-06-23T21:30:38.001Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.001Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.001Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.001Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.001Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.001Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.001Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.001Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.001Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.001Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.001Z] code = main()
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.001Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.001Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.001Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.001Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.001Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.001Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.001Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.001Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.001Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.001Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.001Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.001Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.001Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.001Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.001Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.001Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.001Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.001Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.001Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.001Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.001Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.001Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.001Z] item.runtest()
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.001Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.001Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.001Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.001Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.001Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.001Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 141, in test_lines_simple_chunk
[2024-06-23T21:30:38.001Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.001Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.001Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.001Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.001Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.001Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.001Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.001Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.001Z] from matplotlib._path import (
[2024-06-23T21:30:38.001Z] Traceback (most recent call last):
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.001Z] raise ImportError(msg)
[2024-06-23T21:30:38.001Z] ImportError:
[2024-06-23T21:30:38.001Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.001Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.001Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.001Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.001Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.001Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] ____________ test_lines_simple_chunk[threaded-ChunkCombinedOffset] _____________
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] name = 'threaded', line_type = <LineType.ChunkCombinedOffset: 104>
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] @pytest.mark.image
[2024-06-23T21:30:38.001Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.001Z] def test_lines_simple_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.001Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] tests/test_lines.py:141:
[2024-06-23T21:30:38.001Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.001Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.001Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.001Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.001Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.001Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.001Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.001Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.001Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.001Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.001Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.001Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.001Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.001Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] """
[2024-06-23T21:30:38.001Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.001Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.001Z] elements drawn on the canvas.
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.001Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.001Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.001Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.001Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.001Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.001Z] interactive performance.
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.001Z] to the graph:
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.001Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.001Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.001Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.001Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.001Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.001Z] themselves.
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.001Z] of how to use transforms.
[2024-06-23T21:30:38.001Z] """
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.001Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.001Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] import copy
[2024-06-23T21:30:38.001Z] import functools
[2024-06-23T21:30:38.001Z] import textwrap
[2024-06-23T21:30:38.001Z] import weakref
[2024-06-23T21:30:38.001Z] import math
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] import numpy as np
[2024-06-23T21:30:38.001Z] from numpy.linalg import inv
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] from matplotlib import _api
[2024-06-23T21:30:38.001Z] > from matplotlib._path import (
[2024-06-23T21:30:38.001Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.001Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.001Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.001Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.001Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.001Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.001Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.001Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.001Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.001Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.001Z] code = main()
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.001Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.001Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.001Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.001Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.001Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.001Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.001Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.001Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.001Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.001Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.001Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.001Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.001Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.001Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.001Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.001Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.001Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.001Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.001Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.001Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.001Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.001Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.001Z] item.runtest()
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.001Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.001Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.001Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.001Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.001Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.001Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 141, in test_lines_simple_chunk
[2024-06-23T21:30:38.001Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.001Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.001Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.001Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.001Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.001Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.001Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.001Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.001Z] from matplotlib._path import (
[2024-06-23T21:30:38.001Z] Traceback (most recent call last):
[2024-06-23T21:30:38.001Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.001Z] raise ImportError(msg)
[2024-06-23T21:30:38.001Z] ImportError:
[2024-06-23T21:30:38.001Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.001Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.001Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.001Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.001Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.001Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] ______________ test_lines_simple_chunk[threaded-ChunkCombinedNan] ______________
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] name = 'threaded', line_type = <LineType.ChunkCombinedNan: 105>
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] @pytest.mark.image
[2024-06-23T21:30:38.001Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.001Z] def test_lines_simple_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.001Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.001Z]
[2024-06-23T21:30:38.001Z] tests/test_lines.py:141:
[2024-06-23T21:30:38.001Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.001Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.001Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.001Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.001Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.001Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.001Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.001Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.001Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.002Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.002Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.002Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.002Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.002Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] """
[2024-06-23T21:30:38.002Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.002Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.002Z] elements drawn on the canvas.
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.002Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.002Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.002Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.002Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.002Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.002Z] interactive performance.
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.002Z] to the graph:
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.002Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.002Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.002Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.002Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.002Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.002Z] themselves.
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.002Z] of how to use transforms.
[2024-06-23T21:30:38.002Z] """
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.002Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.002Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] import copy
[2024-06-23T21:30:38.002Z] import functools
[2024-06-23T21:30:38.002Z] import textwrap
[2024-06-23T21:30:38.002Z] import weakref
[2024-06-23T21:30:38.002Z] import math
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] import numpy as np
[2024-06-23T21:30:38.002Z] from numpy.linalg import inv
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] from matplotlib import _api
[2024-06-23T21:30:38.002Z] > from matplotlib._path import (
[2024-06-23T21:30:38.002Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.002Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.002Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.002Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.002Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.002Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.002Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.002Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.002Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.002Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.002Z] code = main()
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.002Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.002Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.002Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.002Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.002Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.002Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.002Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.002Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.002Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.002Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.002Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.002Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.002Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.002Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.002Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.002Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.002Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.002Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.002Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.002Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.002Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.002Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.002Z] item.runtest()
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.002Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.002Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.002Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.002Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.002Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.002Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 141, in test_lines_simple_chunk
[2024-06-23T21:30:38.002Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.002Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.002Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.002Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.002Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.002Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.002Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.002Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.002Z] from matplotlib._path import (
[2024-06-23T21:30:38.002Z] Traceback (most recent call last):
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.002Z] raise ImportError(msg)
[2024-06-23T21:30:38.002Z] ImportError:
[2024-06-23T21:30:38.002Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.002Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.002Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.002Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.002Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.002Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] _________________ test_lines_simple_chunk_threads[2-Separate] __________________
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] line_type = <LineType.Separate: 101>, thread_count = 2
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] @pytest.mark.image
[2024-06-23T21:30:38.002Z] @pytest.mark.threads
[2024-06-23T21:30:38.002Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.002Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.002Z] def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.002Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] tests/test_lines.py:168:
[2024-06-23T21:30:38.002Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.002Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.002Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.002Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.002Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.002Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.002Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.002Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.002Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.002Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.002Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.002Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.002Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.002Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] """
[2024-06-23T21:30:38.002Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.002Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.002Z] elements drawn on the canvas.
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.002Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.002Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.002Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.002Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.002Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.002Z] interactive performance.
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.002Z] to the graph:
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.002Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.002Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.002Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.002Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.002Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.002Z] themselves.
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.002Z] of how to use transforms.
[2024-06-23T21:30:38.002Z] """
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.002Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.002Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] import copy
[2024-06-23T21:30:38.002Z] import functools
[2024-06-23T21:30:38.002Z] import textwrap
[2024-06-23T21:30:38.002Z] import weakref
[2024-06-23T21:30:38.002Z] import math
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] import numpy as np
[2024-06-23T21:30:38.002Z] from numpy.linalg import inv
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] from matplotlib import _api
[2024-06-23T21:30:38.002Z] > from matplotlib._path import (
[2024-06-23T21:30:38.002Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.002Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.002Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.002Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.002Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.002Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.002Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.002Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.002Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.002Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.002Z] code = main()
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.002Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.002Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.002Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.002Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.002Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.002Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.002Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.002Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.002Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.002Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.002Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.002Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.002Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.002Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.002Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.002Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.002Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.002Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.002Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.002Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.002Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.002Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.002Z] item.runtest()
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.002Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.002Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.002Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.002Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.002Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.002Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 168, in test_lines_simple_chunk_threads
[2024-06-23T21:30:38.002Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.002Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.002Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.002Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.002Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.002Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.002Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.002Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.002Z] from matplotlib._path import (
[2024-06-23T21:30:38.002Z] Traceback (most recent call last):
[2024-06-23T21:30:38.002Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.002Z] raise ImportError(msg)
[2024-06-23T21:30:38.002Z] ImportError:
[2024-06-23T21:30:38.002Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.002Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.002Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.002Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.002Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.002Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] _______________ test_lines_simple_chunk_threads[2-SeparateCode] ________________
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] line_type = <LineType.SeparateCode: 102>, thread_count = 2
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] @pytest.mark.image
[2024-06-23T21:30:38.002Z] @pytest.mark.threads
[2024-06-23T21:30:38.002Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.002Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.002Z] def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.002Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] tests/test_lines.py:168:
[2024-06-23T21:30:38.002Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.002Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.002Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.002Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.002Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.002Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.002Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.002Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.002Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.002Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.002Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.002Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.002Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.002Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] """
[2024-06-23T21:30:38.002Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.002Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.002Z] elements drawn on the canvas.
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.002Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.002Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.002Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.002Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.002Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.002Z] interactive performance.
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.002Z] to the graph:
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.002Z]
[2024-06-23T21:30:38.002Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.003Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.003Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.003Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.003Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.003Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.003Z] themselves.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.003Z] of how to use transforms.
[2024-06-23T21:30:38.003Z] """
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.003Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.003Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] import copy
[2024-06-23T21:30:38.003Z] import functools
[2024-06-23T21:30:38.003Z] import textwrap
[2024-06-23T21:30:38.003Z] import weakref
[2024-06-23T21:30:38.003Z] import math
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] import numpy as np
[2024-06-23T21:30:38.003Z] from numpy.linalg import inv
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] from matplotlib import _api
[2024-06-23T21:30:38.003Z] > from matplotlib._path import (
[2024-06-23T21:30:38.003Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.003Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.003Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.003Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.003Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.003Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.003Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.003Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.003Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.003Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.003Z] code = main()
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.003Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.003Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.003Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.003Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.003Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.003Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.003Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.003Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.003Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.003Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.003Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.003Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.003Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.003Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.003Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.003Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.003Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.003Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.003Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.003Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.003Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.003Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.003Z] item.runtest()
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.003Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.003Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.003Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.003Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.003Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.003Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 168, in test_lines_simple_chunk_threads
[2024-06-23T21:30:38.003Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.003Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.003Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.003Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.003Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.003Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.003Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.003Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.003Z] from matplotlib._path import (
[2024-06-23T21:30:38.003Z] Traceback (most recent call last):
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.003Z] raise ImportError(msg)
[2024-06-23T21:30:38.003Z] ImportError:
[2024-06-23T21:30:38.003Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.003Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.003Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.003Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.003Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.003Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] _____________ test_lines_simple_chunk_threads[2-ChunkCombinedCode] _____________
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] line_type = <LineType.ChunkCombinedCode: 103>, thread_count = 2
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] @pytest.mark.image
[2024-06-23T21:30:38.003Z] @pytest.mark.threads
[2024-06-23T21:30:38.003Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.003Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.003Z] def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.003Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] tests/test_lines.py:168:
[2024-06-23T21:30:38.003Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.003Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.003Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.003Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.003Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.003Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.003Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.003Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.003Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.003Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.003Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.003Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.003Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.003Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] """
[2024-06-23T21:30:38.003Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.003Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.003Z] elements drawn on the canvas.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.003Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.003Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.003Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.003Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.003Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.003Z] interactive performance.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.003Z] to the graph:
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.003Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.003Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.003Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.003Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.003Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.003Z] themselves.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.003Z] of how to use transforms.
[2024-06-23T21:30:38.003Z] """
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.003Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.003Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] import copy
[2024-06-23T21:30:38.003Z] import functools
[2024-06-23T21:30:38.003Z] import textwrap
[2024-06-23T21:30:38.003Z] import weakref
[2024-06-23T21:30:38.003Z] import math
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] import numpy as np
[2024-06-23T21:30:38.003Z] from numpy.linalg import inv
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] from matplotlib import _api
[2024-06-23T21:30:38.003Z] > from matplotlib._path import (
[2024-06-23T21:30:38.003Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.003Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.003Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.003Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.003Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.003Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.003Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.003Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.003Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.003Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.003Z] code = main()
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.003Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.003Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.003Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.003Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.003Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.003Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.003Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.003Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.003Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.003Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.003Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.003Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.003Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.003Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.003Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.003Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.003Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.003Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.003Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.003Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.003Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.003Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.003Z] item.runtest()
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.003Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.003Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.003Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.003Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.003Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.003Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 168, in test_lines_simple_chunk_threads
[2024-06-23T21:30:38.003Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.003Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.003Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.003Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.003Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.003Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.003Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.003Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.003Z] from matplotlib._path import (
[2024-06-23T21:30:38.003Z] Traceback (most recent call last):
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.003Z] raise ImportError(msg)
[2024-06-23T21:30:38.003Z] ImportError:
[2024-06-23T21:30:38.003Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.003Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.003Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.003Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.003Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.003Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] ____________ test_lines_simple_chunk_threads[2-ChunkCombinedOffset] ____________
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] line_type = <LineType.ChunkCombinedOffset: 104>, thread_count = 2
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] @pytest.mark.image
[2024-06-23T21:30:38.003Z] @pytest.mark.threads
[2024-06-23T21:30:38.003Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.003Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.003Z] def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.003Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] tests/test_lines.py:168:
[2024-06-23T21:30:38.003Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.003Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.003Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.003Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.003Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.003Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.003Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.003Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.003Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.003Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.003Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.003Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.003Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.003Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] """
[2024-06-23T21:30:38.003Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.003Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.003Z] elements drawn on the canvas.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.003Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.003Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.003Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.003Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.003Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.003Z] interactive performance.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.003Z] to the graph:
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.003Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.003Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.003Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.003Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.003Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.003Z] themselves.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.003Z] of how to use transforms.
[2024-06-23T21:30:38.003Z] """
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.003Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.003Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] import copy
[2024-06-23T21:30:38.003Z] import functools
[2024-06-23T21:30:38.003Z] import textwrap
[2024-06-23T21:30:38.003Z] import weakref
[2024-06-23T21:30:38.003Z] import math
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] import numpy as np
[2024-06-23T21:30:38.003Z] from numpy.linalg import inv
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] from matplotlib import _api
[2024-06-23T21:30:38.003Z] > from matplotlib._path import (
[2024-06-23T21:30:38.003Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.003Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.003Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.003Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.003Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.003Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.003Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.003Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.003Z]
[2024-06-23T21:30:38.003Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.003Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.003Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.003Z] code = main()
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.003Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.003Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.003Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.003Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.003Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.003Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.003Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.003Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.003Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.003Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.004Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.004Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.004Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.004Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.004Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.004Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.004Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.004Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.004Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.004Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.004Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.004Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.004Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.004Z] item.runtest()
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.004Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.004Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.004Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.004Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.004Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.004Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 168, in test_lines_simple_chunk_threads
[2024-06-23T21:30:38.004Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.004Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.004Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.004Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.004Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.004Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.004Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.004Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.004Z] from matplotlib._path import (
[2024-06-23T21:30:38.004Z] Traceback (most recent call last):
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.004Z] raise ImportError(msg)
[2024-06-23T21:30:38.004Z] ImportError:
[2024-06-23T21:30:38.004Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.004Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.004Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.004Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.004Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.004Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] _____________ test_lines_simple_chunk_threads[2-ChunkCombinedNan] ______________
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] line_type = <LineType.ChunkCombinedNan: 105>, thread_count = 2
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] @pytest.mark.image
[2024-06-23T21:30:38.004Z] @pytest.mark.threads
[2024-06-23T21:30:38.004Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.004Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.004Z] def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.004Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] tests/test_lines.py:168:
[2024-06-23T21:30:38.004Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.004Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.004Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.004Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.004Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.004Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.004Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.004Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.004Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.004Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.004Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.004Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.004Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.004Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] """
[2024-06-23T21:30:38.004Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.004Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.004Z] elements drawn on the canvas.
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.004Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.004Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.004Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.004Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.004Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.004Z] interactive performance.
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.004Z] to the graph:
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.004Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.004Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.004Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.004Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.004Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.004Z] themselves.
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.004Z] of how to use transforms.
[2024-06-23T21:30:38.004Z] """
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.004Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.004Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] import copy
[2024-06-23T21:30:38.004Z] import functools
[2024-06-23T21:30:38.004Z] import textwrap
[2024-06-23T21:30:38.004Z] import weakref
[2024-06-23T21:30:38.004Z] import math
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] import numpy as np
[2024-06-23T21:30:38.004Z] from numpy.linalg import inv
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] from matplotlib import _api
[2024-06-23T21:30:38.004Z] > from matplotlib._path import (
[2024-06-23T21:30:38.004Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.004Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.004Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.004Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.004Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.004Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.004Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.004Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.004Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.004Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.004Z] code = main()
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.004Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.004Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.004Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.004Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.004Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.004Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.004Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.004Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.004Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.004Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.004Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.004Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.004Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.004Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.004Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.004Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.004Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.004Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.004Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.004Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.004Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.004Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.004Z] item.runtest()
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.004Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.004Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.004Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.004Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.004Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.004Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 168, in test_lines_simple_chunk_threads
[2024-06-23T21:30:38.004Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.004Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.004Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.004Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.004Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.004Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.004Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.004Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.004Z] from matplotlib._path import (
[2024-06-23T21:30:38.004Z] Traceback (most recent call last):
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.004Z] raise ImportError(msg)
[2024-06-23T21:30:38.004Z] ImportError:
[2024-06-23T21:30:38.004Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.004Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.004Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.004Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.004Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.004Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] _________________ test_lines_simple_chunk_threads[3-Separate] __________________
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] line_type = <LineType.Separate: 101>, thread_count = 3
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] @pytest.mark.image
[2024-06-23T21:30:38.004Z] @pytest.mark.threads
[2024-06-23T21:30:38.004Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.004Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.004Z] def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.004Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] tests/test_lines.py:168:
[2024-06-23T21:30:38.004Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.004Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.004Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.004Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.004Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.004Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.004Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.004Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.004Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.004Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.004Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.004Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.004Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.004Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] """
[2024-06-23T21:30:38.004Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.004Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.004Z] elements drawn on the canvas.
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.004Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.004Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.004Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.004Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.004Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.004Z] interactive performance.
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.004Z] to the graph:
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.004Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.004Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.004Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.004Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.004Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.004Z] themselves.
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.004Z] of how to use transforms.
[2024-06-23T21:30:38.004Z] """
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.004Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.004Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] import copy
[2024-06-23T21:30:38.004Z] import functools
[2024-06-23T21:30:38.004Z] import textwrap
[2024-06-23T21:30:38.004Z] import weakref
[2024-06-23T21:30:38.004Z] import math
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] import numpy as np
[2024-06-23T21:30:38.004Z] from numpy.linalg import inv
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] from matplotlib import _api
[2024-06-23T21:30:38.004Z] > from matplotlib._path import (
[2024-06-23T21:30:38.004Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.004Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.004Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.004Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.004Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.004Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.004Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.004Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.004Z]
[2024-06-23T21:30:38.004Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.004Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.004Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.004Z] code = main()
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.004Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.004Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.004Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.004Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.004Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.004Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.004Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.004Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.004Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.004Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.004Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.004Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.004Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.004Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.004Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.004Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.004Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.004Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.004Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.004Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.004Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.004Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.004Z] item.runtest()
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.004Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.004Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.004Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.005Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.005Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.005Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.005Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 168, in test_lines_simple_chunk_threads
[2024-06-23T21:30:38.005Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.005Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.005Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.005Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.005Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.005Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.005Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.005Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.005Z] from matplotlib._path import (
[2024-06-23T21:30:38.005Z] Traceback (most recent call last):
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.005Z] raise ImportError(msg)
[2024-06-23T21:30:38.005Z] ImportError:
[2024-06-23T21:30:38.005Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.005Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.005Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.005Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.005Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.005Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] _______________ test_lines_simple_chunk_threads[3-SeparateCode] ________________
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] line_type = <LineType.SeparateCode: 102>, thread_count = 3
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] @pytest.mark.image
[2024-06-23T21:30:38.005Z] @pytest.mark.threads
[2024-06-23T21:30:38.005Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.005Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.005Z] def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.005Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] tests/test_lines.py:168:
[2024-06-23T21:30:38.005Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.005Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.005Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.005Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.005Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.005Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.005Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.005Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.005Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.005Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.005Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.005Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.005Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.005Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] """
[2024-06-23T21:30:38.005Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.005Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.005Z] elements drawn on the canvas.
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.005Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.005Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.005Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.005Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.005Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.005Z] interactive performance.
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.005Z] to the graph:
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.005Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.005Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.005Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.005Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.005Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.005Z] themselves.
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.005Z] of how to use transforms.
[2024-06-23T21:30:38.005Z] """
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.005Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.005Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] import copy
[2024-06-23T21:30:38.005Z] import functools
[2024-06-23T21:30:38.005Z] import textwrap
[2024-06-23T21:30:38.005Z] import weakref
[2024-06-23T21:30:38.005Z] import math
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] import numpy as np
[2024-06-23T21:30:38.005Z] from numpy.linalg import inv
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] from matplotlib import _api
[2024-06-23T21:30:38.005Z] > from matplotlib._path import (
[2024-06-23T21:30:38.005Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.005Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.005Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.005Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.005Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.005Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.005Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.005Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.005Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.005Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.005Z] code = main()
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.005Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.005Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.005Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.005Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.005Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.005Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.005Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.005Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.005Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.005Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.005Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.005Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.005Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.005Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.005Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.005Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.005Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.005Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.005Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.005Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.005Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.005Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.005Z] item.runtest()
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.005Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.005Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.005Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.005Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.005Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.005Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 168, in test_lines_simple_chunk_threads
[2024-06-23T21:30:38.005Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.005Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.005Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.005Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.005Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.005Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.005Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.005Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.005Z] from matplotlib._path import (
[2024-06-23T21:30:38.005Z] Traceback (most recent call last):
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.005Z] raise ImportError(msg)
[2024-06-23T21:30:38.005Z] ImportError:
[2024-06-23T21:30:38.005Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.005Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.005Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.005Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.005Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.005Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] _____________ test_lines_simple_chunk_threads[3-ChunkCombinedCode] _____________
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] line_type = <LineType.ChunkCombinedCode: 103>, thread_count = 3
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] @pytest.mark.image
[2024-06-23T21:30:38.005Z] @pytest.mark.threads
[2024-06-23T21:30:38.005Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.005Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.005Z] def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.005Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] tests/test_lines.py:168:
[2024-06-23T21:30:38.005Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.005Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.005Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.005Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.005Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.005Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.005Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.005Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.005Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.005Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.005Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.005Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.005Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.005Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] """
[2024-06-23T21:30:38.005Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.005Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.005Z] elements drawn on the canvas.
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.005Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.005Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.005Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.005Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.005Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.005Z] interactive performance.
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.005Z] to the graph:
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.005Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.005Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.005Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.005Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.005Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.005Z] themselves.
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.005Z] of how to use transforms.
[2024-06-23T21:30:38.005Z] """
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.005Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.005Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] import copy
[2024-06-23T21:30:38.005Z] import functools
[2024-06-23T21:30:38.005Z] import textwrap
[2024-06-23T21:30:38.005Z] import weakref
[2024-06-23T21:30:38.005Z] import math
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] import numpy as np
[2024-06-23T21:30:38.005Z] from numpy.linalg import inv
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] from matplotlib import _api
[2024-06-23T21:30:38.005Z] > from matplotlib._path import (
[2024-06-23T21:30:38.005Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.005Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.005Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.005Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.005Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.005Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.005Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.005Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.005Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.005Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.005Z] code = main()
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.005Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.005Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.005Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.005Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.005Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.005Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.005Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.005Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.005Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.005Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.005Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.005Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.005Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.005Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.005Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.005Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.005Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.005Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.005Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.005Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.005Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.005Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.005Z] item.runtest()
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.005Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.005Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.005Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.005Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.005Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.005Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 168, in test_lines_simple_chunk_threads
[2024-06-23T21:30:38.005Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.005Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.005Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.005Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.005Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.005Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.005Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.005Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.005Z] from matplotlib._path import (
[2024-06-23T21:30:38.005Z] Traceback (most recent call last):
[2024-06-23T21:30:38.005Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.005Z] raise ImportError(msg)
[2024-06-23T21:30:38.005Z] ImportError:
[2024-06-23T21:30:38.005Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.005Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.005Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.005Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.005Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.005Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] ____________ test_lines_simple_chunk_threads[3-ChunkCombinedOffset] ____________
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] line_type = <LineType.ChunkCombinedOffset: 104>, thread_count = 3
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] @pytest.mark.image
[2024-06-23T21:30:38.005Z] @pytest.mark.threads
[2024-06-23T21:30:38.005Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.005Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.005Z] def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.005Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.005Z]
[2024-06-23T21:30:38.005Z] tests/test_lines.py:168:
[2024-06-23T21:30:38.005Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.005Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.005Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.005Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.005Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.005Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.005Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.005Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.005Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.005Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.005Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.006Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.006Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.006Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] """
[2024-06-23T21:30:38.006Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.006Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.006Z] elements drawn on the canvas.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.006Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.006Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.006Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.006Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.006Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.006Z] interactive performance.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.006Z] to the graph:
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.006Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.006Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.006Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.006Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.006Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.006Z] themselves.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.006Z] of how to use transforms.
[2024-06-23T21:30:38.006Z] """
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.006Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.006Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] import copy
[2024-06-23T21:30:38.006Z] import functools
[2024-06-23T21:30:38.006Z] import textwrap
[2024-06-23T21:30:38.006Z] import weakref
[2024-06-23T21:30:38.006Z] import math
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] import numpy as np
[2024-06-23T21:30:38.006Z] from numpy.linalg import inv
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] from matplotlib import _api
[2024-06-23T21:30:38.006Z] > from matplotlib._path import (
[2024-06-23T21:30:38.006Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.006Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.006Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.006Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.006Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.006Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.006Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.006Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.006Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.006Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.006Z] code = main()
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.006Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.006Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.006Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.006Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.006Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.006Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.006Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.006Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.006Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.006Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.006Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.006Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.006Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.006Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.006Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.006Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.006Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.006Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.006Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.006Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.006Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.006Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.006Z] item.runtest()
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.006Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.006Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.006Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.006Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.006Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.006Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 168, in test_lines_simple_chunk_threads
[2024-06-23T21:30:38.006Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.006Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.006Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.006Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.006Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.006Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.006Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.006Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.006Z] from matplotlib._path import (
[2024-06-23T21:30:38.006Z] Traceback (most recent call last):
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.006Z] raise ImportError(msg)
[2024-06-23T21:30:38.006Z] ImportError:
[2024-06-23T21:30:38.006Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.006Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.006Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.006Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.006Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.006Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] _____________ test_lines_simple_chunk_threads[3-ChunkCombinedNan] ______________
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] line_type = <LineType.ChunkCombinedNan: 105>, thread_count = 3
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] @pytest.mark.image
[2024-06-23T21:30:38.006Z] @pytest.mark.threads
[2024-06-23T21:30:38.006Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.006Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.006Z] def test_lines_simple_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.006Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] tests/test_lines.py:168:
[2024-06-23T21:30:38.006Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.006Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.006Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.006Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.006Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.006Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.006Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.006Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.006Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.006Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.006Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.006Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.006Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.006Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] """
[2024-06-23T21:30:38.006Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.006Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.006Z] elements drawn on the canvas.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.006Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.006Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.006Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.006Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.006Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.006Z] interactive performance.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.006Z] to the graph:
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.006Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.006Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.006Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.006Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.006Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.006Z] themselves.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.006Z] of how to use transforms.
[2024-06-23T21:30:38.006Z] """
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.006Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.006Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] import copy
[2024-06-23T21:30:38.006Z] import functools
[2024-06-23T21:30:38.006Z] import textwrap
[2024-06-23T21:30:38.006Z] import weakref
[2024-06-23T21:30:38.006Z] import math
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] import numpy as np
[2024-06-23T21:30:38.006Z] from numpy.linalg import inv
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] from matplotlib import _api
[2024-06-23T21:30:38.006Z] > from matplotlib._path import (
[2024-06-23T21:30:38.006Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.006Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.006Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.006Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.006Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.006Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.006Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.006Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.006Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.006Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.006Z] code = main()
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.006Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.006Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.006Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.006Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.006Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.006Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.006Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.006Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.006Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.006Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.006Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.006Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.006Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.006Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.006Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.006Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.006Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.006Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.006Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.006Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.006Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.006Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.006Z] item.runtest()
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.006Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.006Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.006Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.006Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.006Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.006Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 168, in test_lines_simple_chunk_threads
[2024-06-23T21:30:38.006Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.006Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.006Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.006Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.006Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.006Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.006Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.006Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.006Z] from matplotlib._path import (
[2024-06-23T21:30:38.006Z] Traceback (most recent call last):
[2024-06-23T21:30:38.006Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.006Z] raise ImportError(msg)
[2024-06-23T21:30:38.006Z] ImportError:
[2024-06-23T21:30:38.006Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.006Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.006Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.006Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.006Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.006Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] ____________ test_lines_simple_no_corner_mask[mpl2005-SeparateCode] ____________
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] name = 'mpl2005', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] @pytest.mark.image
[2024-06-23T21:30:38.006Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.006Z] def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.006Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] tests/test_lines.py:193:
[2024-06-23T21:30:38.006Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.006Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.006Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.006Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.006Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.006Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.006Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.006Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.006Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.006Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.006Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.006Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.006Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.006Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] """
[2024-06-23T21:30:38.006Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.006Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.006Z] elements drawn on the canvas.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.006Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.006Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.006Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.006Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.006Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.006Z] interactive performance.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.006Z] to the graph:
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.006Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.006Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.006Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.006Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.006Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.006Z] themselves.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.006Z] of how to use transforms.
[2024-06-23T21:30:38.006Z] """
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.006Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.006Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] import copy
[2024-06-23T21:30:38.006Z] import functools
[2024-06-23T21:30:38.006Z] import textwrap
[2024-06-23T21:30:38.006Z] import weakref
[2024-06-23T21:30:38.006Z] import math
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] import numpy as np
[2024-06-23T21:30:38.006Z] from numpy.linalg import inv
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] from matplotlib import _api
[2024-06-23T21:30:38.006Z] > from matplotlib._path import (
[2024-06-23T21:30:38.006Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.006Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.006Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.006Z]
[2024-06-23T21:30:38.006Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.006Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.006Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.007Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.007Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.007Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.007Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.007Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.007Z] code = main()
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.007Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.007Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.007Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.007Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.007Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.007Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.007Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.007Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.007Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.007Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.007Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.007Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.007Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.007Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.007Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.007Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.007Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.007Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.007Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.007Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.007Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.007Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.007Z] item.runtest()
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.007Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.007Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.007Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.007Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.007Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.007Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 193, in test_lines_simple_no_corner_mask
[2024-06-23T21:30:38.007Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.007Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.007Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.007Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.007Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.007Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.007Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.007Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.007Z] from matplotlib._path import (
[2024-06-23T21:30:38.007Z] Traceback (most recent call last):
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.007Z] raise ImportError(msg)
[2024-06-23T21:30:38.007Z] ImportError:
[2024-06-23T21:30:38.007Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.007Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.007Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.007Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.007Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.007Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] ____________ test_lines_simple_no_corner_mask[mpl2014-SeparateCode] ____________
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] name = 'mpl2014', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] @pytest.mark.image
[2024-06-23T21:30:38.007Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.007Z] def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.007Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] tests/test_lines.py:193:
[2024-06-23T21:30:38.007Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.007Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.007Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.007Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.007Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.007Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.007Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.007Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.007Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.007Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.007Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.007Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.007Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.007Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] """
[2024-06-23T21:30:38.007Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.007Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.007Z] elements drawn on the canvas.
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.007Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.007Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.007Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.007Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.007Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.007Z] interactive performance.
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.007Z] to the graph:
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.007Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.007Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.007Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.007Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.007Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.007Z] themselves.
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.007Z] of how to use transforms.
[2024-06-23T21:30:38.007Z] """
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.007Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.007Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] import copy
[2024-06-23T21:30:38.007Z] import functools
[2024-06-23T21:30:38.007Z] import textwrap
[2024-06-23T21:30:38.007Z] import weakref
[2024-06-23T21:30:38.007Z] import math
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] import numpy as np
[2024-06-23T21:30:38.007Z] from numpy.linalg import inv
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] from matplotlib import _api
[2024-06-23T21:30:38.007Z] > from matplotlib._path import (
[2024-06-23T21:30:38.007Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.007Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.007Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.007Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.007Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.007Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.007Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.007Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.007Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.007Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.007Z] code = main()
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.007Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.007Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.007Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.007Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.007Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.007Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.007Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.007Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.007Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.007Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.007Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.007Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.007Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.007Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.007Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.007Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.007Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.007Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.007Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.007Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.007Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.007Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.007Z] item.runtest()
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.007Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.007Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.007Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.007Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.007Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.007Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 193, in test_lines_simple_no_corner_mask
[2024-06-23T21:30:38.007Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.007Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.007Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.007Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.007Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.007Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.007Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.007Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.007Z] from matplotlib._path import (
[2024-06-23T21:30:38.007Z] Traceback (most recent call last):
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.007Z] raise ImportError(msg)
[2024-06-23T21:30:38.007Z] ImportError:
[2024-06-23T21:30:38.007Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.007Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.007Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.007Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.007Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.007Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] ______________ test_lines_simple_no_corner_mask[serial-Separate] _______________
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] name = 'serial', line_type = <LineType.Separate: 101>
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] @pytest.mark.image
[2024-06-23T21:30:38.007Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.007Z] def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.007Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] tests/test_lines.py:193:
[2024-06-23T21:30:38.007Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.007Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.007Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.007Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.007Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.007Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.007Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.007Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.007Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.007Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.007Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.007Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.007Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.007Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] """
[2024-06-23T21:30:38.007Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.007Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.007Z] elements drawn on the canvas.
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.007Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.007Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.007Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.007Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.007Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.007Z] interactive performance.
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.007Z] to the graph:
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.007Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.007Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.007Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.007Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.007Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.007Z] themselves.
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.007Z] of how to use transforms.
[2024-06-23T21:30:38.007Z] """
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.007Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.007Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] import copy
[2024-06-23T21:30:38.007Z] import functools
[2024-06-23T21:30:38.007Z] import textwrap
[2024-06-23T21:30:38.007Z] import weakref
[2024-06-23T21:30:38.007Z] import math
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] import numpy as np
[2024-06-23T21:30:38.007Z] from numpy.linalg import inv
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] from matplotlib import _api
[2024-06-23T21:30:38.007Z] > from matplotlib._path import (
[2024-06-23T21:30:38.007Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.007Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.007Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.007Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.007Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.007Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.007Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.007Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.007Z]
[2024-06-23T21:30:38.007Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.007Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.007Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.007Z] code = main()
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.007Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.007Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.007Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.007Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.007Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.007Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.007Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.007Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.007Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.007Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.007Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.007Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.007Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.007Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.007Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.008Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.008Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.008Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.008Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.008Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.008Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.008Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.008Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.008Z] item.runtest()
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.008Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.008Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.008Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.008Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.008Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.008Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 193, in test_lines_simple_no_corner_mask
[2024-06-23T21:30:38.008Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.008Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.008Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.008Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.008Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.008Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.008Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.008Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.008Z] from matplotlib._path import (
[2024-06-23T21:30:38.008Z] Traceback (most recent call last):
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.008Z] raise ImportError(msg)
[2024-06-23T21:30:38.008Z] ImportError:
[2024-06-23T21:30:38.008Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.008Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.008Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.008Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.008Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.008Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] ____________ test_lines_simple_no_corner_mask[serial-SeparateCode] _____________
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] name = 'serial', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] @pytest.mark.image
[2024-06-23T21:30:38.008Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.008Z] def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.008Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] tests/test_lines.py:193:
[2024-06-23T21:30:38.008Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.008Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.008Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.008Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.008Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.008Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.008Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.008Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.008Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.008Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.008Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.008Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.008Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.008Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] """
[2024-06-23T21:30:38.008Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.008Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.008Z] elements drawn on the canvas.
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.008Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.008Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.008Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.008Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.008Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.008Z] interactive performance.
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.008Z] to the graph:
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.008Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.008Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.008Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.008Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.008Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.008Z] themselves.
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.008Z] of how to use transforms.
[2024-06-23T21:30:38.008Z] """
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.008Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.008Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] import copy
[2024-06-23T21:30:38.008Z] import functools
[2024-06-23T21:30:38.008Z] import textwrap
[2024-06-23T21:30:38.008Z] import weakref
[2024-06-23T21:30:38.008Z] import math
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] import numpy as np
[2024-06-23T21:30:38.008Z] from numpy.linalg import inv
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] from matplotlib import _api
[2024-06-23T21:30:38.008Z] > from matplotlib._path import (
[2024-06-23T21:30:38.008Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.008Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.008Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.008Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.008Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.008Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.008Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.008Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.008Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.008Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.008Z] code = main()
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.008Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.008Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.008Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.008Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.008Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.008Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.008Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.008Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.008Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.008Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.008Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.008Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.008Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.008Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.008Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.008Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.008Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.008Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.008Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.008Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.008Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.008Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.008Z] item.runtest()
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.008Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.008Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.008Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.008Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.008Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.008Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 193, in test_lines_simple_no_corner_mask
[2024-06-23T21:30:38.008Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.008Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.008Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.008Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.008Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.008Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.008Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.008Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.008Z] from matplotlib._path import (
[2024-06-23T21:30:38.008Z] Traceback (most recent call last):
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.008Z] raise ImportError(msg)
[2024-06-23T21:30:38.008Z] ImportError:
[2024-06-23T21:30:38.008Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.008Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.008Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.008Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.008Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.008Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] __________ test_lines_simple_no_corner_mask[serial-ChunkCombinedCode] __________
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] name = 'serial', line_type = <LineType.ChunkCombinedCode: 103>
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] @pytest.mark.image
[2024-06-23T21:30:38.008Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.008Z] def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.008Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] tests/test_lines.py:193:
[2024-06-23T21:30:38.008Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.008Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.008Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.008Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.008Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.008Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.008Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.008Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.008Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.008Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.008Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.008Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.008Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.008Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] """
[2024-06-23T21:30:38.008Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.008Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.008Z] elements drawn on the canvas.
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.008Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.008Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.008Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.008Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.008Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.008Z] interactive performance.
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.008Z] to the graph:
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.008Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.008Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.008Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.008Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.008Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.008Z] themselves.
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.008Z] of how to use transforms.
[2024-06-23T21:30:38.008Z] """
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.008Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.008Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] import copy
[2024-06-23T21:30:38.008Z] import functools
[2024-06-23T21:30:38.008Z] import textwrap
[2024-06-23T21:30:38.008Z] import weakref
[2024-06-23T21:30:38.008Z] import math
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] import numpy as np
[2024-06-23T21:30:38.008Z] from numpy.linalg import inv
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] from matplotlib import _api
[2024-06-23T21:30:38.008Z] > from matplotlib._path import (
[2024-06-23T21:30:38.008Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.008Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.008Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.008Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.008Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.008Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.008Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.008Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.008Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.008Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.008Z] code = main()
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.008Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.008Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.008Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.008Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.008Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.008Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.008Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.008Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.008Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.008Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.008Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.008Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.008Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.008Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.008Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.008Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.008Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.008Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.008Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.008Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.008Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.008Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.008Z] item.runtest()
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.008Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.008Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.008Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.008Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.008Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.008Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 193, in test_lines_simple_no_corner_mask
[2024-06-23T21:30:38.008Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.008Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.008Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.008Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.008Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.008Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.008Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.008Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.008Z] from matplotlib._path import (
[2024-06-23T21:30:38.008Z] Traceback (most recent call last):
[2024-06-23T21:30:38.008Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.008Z] raise ImportError(msg)
[2024-06-23T21:30:38.008Z] ImportError:
[2024-06-23T21:30:38.008Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.008Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.008Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.008Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.008Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.008Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] _________ test_lines_simple_no_corner_mask[serial-ChunkCombinedOffset] _________
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] name = 'serial', line_type = <LineType.ChunkCombinedOffset: 104>
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] @pytest.mark.image
[2024-06-23T21:30:38.008Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.008Z] def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.008Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.008Z]
[2024-06-23T21:30:38.008Z] tests/test_lines.py:193:
[2024-06-23T21:30:38.009Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.009Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.009Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.009Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.009Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.009Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.009Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.009Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.009Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.009Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.009Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.009Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.009Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.009Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] """
[2024-06-23T21:30:38.009Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.009Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.009Z] elements drawn on the canvas.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.009Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.009Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.009Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.009Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.009Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.009Z] interactive performance.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.009Z] to the graph:
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.009Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.009Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.009Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.009Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.009Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.009Z] themselves.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.009Z] of how to use transforms.
[2024-06-23T21:30:38.009Z] """
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.009Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.009Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] import copy
[2024-06-23T21:30:38.009Z] import functools
[2024-06-23T21:30:38.009Z] import textwrap
[2024-06-23T21:30:38.009Z] import weakref
[2024-06-23T21:30:38.009Z] import math
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] import numpy as np
[2024-06-23T21:30:38.009Z] from numpy.linalg import inv
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] from matplotlib import _api
[2024-06-23T21:30:38.009Z] > from matplotlib._path import (
[2024-06-23T21:30:38.009Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.009Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.009Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.009Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.009Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.009Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.009Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.009Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.009Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.009Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.009Z] code = main()
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.009Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.009Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.009Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.009Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.009Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.009Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.009Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.009Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.009Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.009Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.009Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.009Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.009Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.009Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.009Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.009Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.009Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.009Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.009Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.009Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.009Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.009Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.009Z] item.runtest()
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.009Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.009Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.009Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.009Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.009Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.009Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 193, in test_lines_simple_no_corner_mask
[2024-06-23T21:30:38.009Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.009Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.009Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.009Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.009Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.009Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.009Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.009Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.009Z] from matplotlib._path import (
[2024-06-23T21:30:38.009Z] Traceback (most recent call last):
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.009Z] raise ImportError(msg)
[2024-06-23T21:30:38.009Z] ImportError:
[2024-06-23T21:30:38.009Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.009Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.009Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.009Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.009Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.009Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] __________ test_lines_simple_no_corner_mask[serial-ChunkCombinedNan] ___________
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] name = 'serial', line_type = <LineType.ChunkCombinedNan: 105>
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] @pytest.mark.image
[2024-06-23T21:30:38.009Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.009Z] def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.009Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] tests/test_lines.py:193:
[2024-06-23T21:30:38.009Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.009Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.009Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.009Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.009Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.009Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.009Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.009Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.009Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.009Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.009Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.009Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.009Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.009Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] """
[2024-06-23T21:30:38.009Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.009Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.009Z] elements drawn on the canvas.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.009Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.009Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.009Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.009Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.009Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.009Z] interactive performance.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.009Z] to the graph:
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.009Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.009Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.009Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.009Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.009Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.009Z] themselves.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.009Z] of how to use transforms.
[2024-06-23T21:30:38.009Z] """
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.009Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.009Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] import copy
[2024-06-23T21:30:38.009Z] import functools
[2024-06-23T21:30:38.009Z] import textwrap
[2024-06-23T21:30:38.009Z] import weakref
[2024-06-23T21:30:38.009Z] import math
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] import numpy as np
[2024-06-23T21:30:38.009Z] from numpy.linalg import inv
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] from matplotlib import _api
[2024-06-23T21:30:38.009Z] > from matplotlib._path import (
[2024-06-23T21:30:38.009Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.009Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.009Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.009Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.009Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.009Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.009Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.009Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.009Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.009Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.009Z] code = main()
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.009Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.009Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.009Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.009Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.009Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.009Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.009Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.009Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.009Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.009Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.009Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.009Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.009Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.009Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.009Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.009Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.009Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.009Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.009Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.009Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.009Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.009Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.009Z] item.runtest()
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.009Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.009Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.009Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.009Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.009Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.009Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 193, in test_lines_simple_no_corner_mask
[2024-06-23T21:30:38.009Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.009Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.009Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.009Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.009Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.009Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.009Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.009Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.009Z] from matplotlib._path import (
[2024-06-23T21:30:38.009Z] Traceback (most recent call last):
[2024-06-23T21:30:38.009Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.009Z] raise ImportError(msg)
[2024-06-23T21:30:38.009Z] ImportError:
[2024-06-23T21:30:38.009Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.009Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.009Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.009Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.009Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.009Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] _____________ test_lines_simple_no_corner_mask[threaded-Separate] ______________
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] name = 'threaded', line_type = <LineType.Separate: 101>
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] @pytest.mark.image
[2024-06-23T21:30:38.009Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.009Z] def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.009Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] tests/test_lines.py:193:
[2024-06-23T21:30:38.009Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.009Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.009Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.009Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.009Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.009Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.009Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.009Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.009Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.009Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.009Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.009Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.009Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.009Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] """
[2024-06-23T21:30:38.009Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.009Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.009Z] elements drawn on the canvas.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.009Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.009Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.009Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.009Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.009Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.009Z] interactive performance.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.009Z] to the graph:
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.009Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.009Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.009Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.009Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.009Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.009Z] themselves.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.009Z] of how to use transforms.
[2024-06-23T21:30:38.009Z] """
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.009Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.009Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.009Z]
[2024-06-23T21:30:38.009Z] import copy
[2024-06-23T21:30:38.009Z] import functools
[2024-06-23T21:30:38.009Z] import textwrap
[2024-06-23T21:30:38.010Z] import weakref
[2024-06-23T21:30:38.010Z] import math
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] import numpy as np
[2024-06-23T21:30:38.010Z] from numpy.linalg import inv
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] from matplotlib import _api
[2024-06-23T21:30:38.010Z] > from matplotlib._path import (
[2024-06-23T21:30:38.010Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.010Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.010Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.010Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.010Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.010Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.010Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.010Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.010Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.010Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.010Z] code = main()
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.010Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.010Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.010Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.010Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.010Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.010Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.010Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.010Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.010Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.010Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.010Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.010Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.010Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.010Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.010Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.010Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.010Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.010Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.010Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.010Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.010Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.010Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.010Z] item.runtest()
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.010Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.010Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.010Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.010Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.010Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.010Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 193, in test_lines_simple_no_corner_mask
[2024-06-23T21:30:38.010Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.010Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.010Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.010Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.010Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.010Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.010Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.010Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.010Z] from matplotlib._path import (
[2024-06-23T21:30:38.010Z] Traceback (most recent call last):
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.010Z] raise ImportError(msg)
[2024-06-23T21:30:38.010Z] ImportError:
[2024-06-23T21:30:38.010Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.010Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.010Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.010Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.010Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.010Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] ___________ test_lines_simple_no_corner_mask[threaded-SeparateCode] ____________
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] name = 'threaded', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] @pytest.mark.image
[2024-06-23T21:30:38.010Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.010Z] def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.010Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] tests/test_lines.py:193:
[2024-06-23T21:30:38.010Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.010Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.010Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.010Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.010Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.010Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.010Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.010Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.010Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.010Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.010Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.010Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.010Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.010Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] """
[2024-06-23T21:30:38.010Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.010Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.010Z] elements drawn on the canvas.
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.010Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.010Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.010Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.010Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.010Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.010Z] interactive performance.
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.010Z] to the graph:
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.010Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.010Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.010Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.010Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.010Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.010Z] themselves.
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.010Z] of how to use transforms.
[2024-06-23T21:30:38.010Z] """
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.010Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.010Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] import copy
[2024-06-23T21:30:38.010Z] import functools
[2024-06-23T21:30:38.010Z] import textwrap
[2024-06-23T21:30:38.010Z] import weakref
[2024-06-23T21:30:38.010Z] import math
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] import numpy as np
[2024-06-23T21:30:38.010Z] from numpy.linalg import inv
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] from matplotlib import _api
[2024-06-23T21:30:38.010Z] > from matplotlib._path import (
[2024-06-23T21:30:38.010Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.010Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.010Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.010Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.010Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.010Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.010Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.010Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.010Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.010Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.010Z] code = main()
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.010Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.010Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.010Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.010Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.010Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.010Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.010Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.010Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.010Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.010Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.010Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.010Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.010Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.010Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.010Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.010Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.010Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.010Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.010Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.010Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.010Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.010Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.010Z] item.runtest()
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.010Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.010Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.010Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.010Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.010Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.010Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 193, in test_lines_simple_no_corner_mask
[2024-06-23T21:30:38.010Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.010Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.010Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.010Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.010Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.010Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.010Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.010Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.010Z] from matplotlib._path import (
[2024-06-23T21:30:38.010Z] Traceback (most recent call last):
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.010Z] raise ImportError(msg)
[2024-06-23T21:30:38.010Z] ImportError:
[2024-06-23T21:30:38.010Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.010Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.010Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.010Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.010Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.010Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] _________ test_lines_simple_no_corner_mask[threaded-ChunkCombinedCode] _________
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] name = 'threaded', line_type = <LineType.ChunkCombinedCode: 103>
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] @pytest.mark.image
[2024-06-23T21:30:38.010Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.010Z] def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.010Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] tests/test_lines.py:193:
[2024-06-23T21:30:38.010Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.010Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.010Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.010Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.010Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.010Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.010Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.010Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.010Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.010Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.010Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.010Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.010Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.010Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] """
[2024-06-23T21:30:38.010Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.010Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.010Z] elements drawn on the canvas.
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.010Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.010Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.010Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.010Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.010Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.010Z] interactive performance.
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.010Z] to the graph:
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.010Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.010Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.010Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.010Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.010Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.010Z] themselves.
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.010Z] of how to use transforms.
[2024-06-23T21:30:38.010Z] """
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.010Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.010Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] import copy
[2024-06-23T21:30:38.010Z] import functools
[2024-06-23T21:30:38.010Z] import textwrap
[2024-06-23T21:30:38.010Z] import weakref
[2024-06-23T21:30:38.010Z] import math
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] import numpy as np
[2024-06-23T21:30:38.010Z] from numpy.linalg import inv
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] from matplotlib import _api
[2024-06-23T21:30:38.010Z] > from matplotlib._path import (
[2024-06-23T21:30:38.010Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.010Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.010Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.010Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.010Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.010Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.010Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.010Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.010Z]
[2024-06-23T21:30:38.010Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.010Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.010Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.010Z] code = main()
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.010Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.010Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.010Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.010Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.010Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.010Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.010Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.010Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.010Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.010Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.010Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.010Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.010Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.010Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.010Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.010Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.010Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.010Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.010Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.011Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.011Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.011Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.011Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.011Z] item.runtest()
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.011Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.011Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.011Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.011Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.011Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.011Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 193, in test_lines_simple_no_corner_mask
[2024-06-23T21:30:38.011Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.011Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.011Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.011Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.011Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.011Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.011Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.011Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.011Z] from matplotlib._path import (
[2024-06-23T21:30:38.011Z] Traceback (most recent call last):
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.011Z] raise ImportError(msg)
[2024-06-23T21:30:38.011Z] ImportError:
[2024-06-23T21:30:38.011Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.011Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.011Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.011Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.011Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.011Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] ________ test_lines_simple_no_corner_mask[threaded-ChunkCombinedOffset] ________
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] name = 'threaded', line_type = <LineType.ChunkCombinedOffset: 104>
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] @pytest.mark.image
[2024-06-23T21:30:38.011Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.011Z] def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.011Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] tests/test_lines.py:193:
[2024-06-23T21:30:38.011Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.011Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.011Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.011Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.011Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.011Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.011Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.011Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.011Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.011Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.011Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.011Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.011Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.011Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] """
[2024-06-23T21:30:38.011Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.011Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.011Z] elements drawn on the canvas.
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.011Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.011Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.011Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.011Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.011Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.011Z] interactive performance.
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.011Z] to the graph:
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.011Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.011Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.011Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.011Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.011Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.011Z] themselves.
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.011Z] of how to use transforms.
[2024-06-23T21:30:38.011Z] """
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.011Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.011Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] import copy
[2024-06-23T21:30:38.011Z] import functools
[2024-06-23T21:30:38.011Z] import textwrap
[2024-06-23T21:30:38.011Z] import weakref
[2024-06-23T21:30:38.011Z] import math
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] import numpy as np
[2024-06-23T21:30:38.011Z] from numpy.linalg import inv
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] from matplotlib import _api
[2024-06-23T21:30:38.011Z] > from matplotlib._path import (
[2024-06-23T21:30:38.011Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.011Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.011Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.011Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.011Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.011Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.011Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.011Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.011Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.011Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.011Z] code = main()
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.011Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.011Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.011Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.011Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.011Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.011Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.011Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.011Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.011Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.011Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.011Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.011Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.011Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.011Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.011Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.011Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.011Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.011Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.011Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.011Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.011Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.011Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.011Z] item.runtest()
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.011Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.011Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.011Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.011Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.011Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.011Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 193, in test_lines_simple_no_corner_mask
[2024-06-23T21:30:38.011Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.011Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.011Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.011Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.011Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.011Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.011Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.011Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.011Z] from matplotlib._path import (
[2024-06-23T21:30:38.011Z] Traceback (most recent call last):
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.011Z] raise ImportError(msg)
[2024-06-23T21:30:38.011Z] ImportError:
[2024-06-23T21:30:38.011Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.011Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.011Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.011Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.011Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.011Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] _________ test_lines_simple_no_corner_mask[threaded-ChunkCombinedNan] __________
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] name = 'threaded', line_type = <LineType.ChunkCombinedNan: 105>
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] @pytest.mark.image
[2024-06-23T21:30:38.011Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.011Z] def test_lines_simple_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.011Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] tests/test_lines.py:193:
[2024-06-23T21:30:38.011Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.011Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.011Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.011Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.011Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.011Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.011Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.011Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.011Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.011Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.011Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.011Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.011Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.011Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] """
[2024-06-23T21:30:38.011Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.011Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.011Z] elements drawn on the canvas.
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.011Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.011Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.011Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.011Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.011Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.011Z] interactive performance.
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.011Z] to the graph:
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.011Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.011Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.011Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.011Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.011Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.011Z] themselves.
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.011Z] of how to use transforms.
[2024-06-23T21:30:38.011Z] """
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.011Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.011Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] import copy
[2024-06-23T21:30:38.011Z] import functools
[2024-06-23T21:30:38.011Z] import textwrap
[2024-06-23T21:30:38.011Z] import weakref
[2024-06-23T21:30:38.011Z] import math
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] import numpy as np
[2024-06-23T21:30:38.011Z] from numpy.linalg import inv
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] from matplotlib import _api
[2024-06-23T21:30:38.011Z] > from matplotlib._path import (
[2024-06-23T21:30:38.011Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.011Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.011Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.011Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.011Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.011Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.011Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.011Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.011Z]
[2024-06-23T21:30:38.011Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.011Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.011Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.011Z] code = main()
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.011Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.011Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.011Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.011Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.011Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.011Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.011Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.011Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.011Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.011Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.011Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.011Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.011Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.011Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.011Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.011Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.011Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.011Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.011Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.011Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.011Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.011Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.011Z] item.runtest()
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.011Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.011Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.011Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.011Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.011Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.011Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 193, in test_lines_simple_no_corner_mask
[2024-06-23T21:30:38.011Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.011Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.011Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.011Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.011Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.011Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.011Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.011Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.011Z] from matplotlib._path import (
[2024-06-23T21:30:38.011Z] Traceback (most recent call last):
[2024-06-23T21:30:38.011Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.011Z] raise ImportError(msg)
[2024-06-23T21:30:38.011Z] ImportError:
[2024-06-23T21:30:38.011Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.012Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.012Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.012Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.012Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.012Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] _________ test_lines_simple_no_corner_mask_chunk[mpl2005-SeparateCode] _________
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] name = 'mpl2005', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] @pytest.mark.image
[2024-06-23T21:30:38.012Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.012Z] def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.012Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] tests/test_lines.py:216:
[2024-06-23T21:30:38.012Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.012Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.012Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.012Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.012Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.012Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.012Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.012Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.012Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.012Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.012Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.012Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.012Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.012Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] """
[2024-06-23T21:30:38.012Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.012Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.012Z] elements drawn on the canvas.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.012Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.012Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.012Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.012Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.012Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.012Z] interactive performance.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.012Z] to the graph:
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.012Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.012Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.012Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.012Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.012Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.012Z] themselves.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.012Z] of how to use transforms.
[2024-06-23T21:30:38.012Z] """
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.012Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.012Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] import copy
[2024-06-23T21:30:38.012Z] import functools
[2024-06-23T21:30:38.012Z] import textwrap
[2024-06-23T21:30:38.012Z] import weakref
[2024-06-23T21:30:38.012Z] import math
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] import numpy as np
[2024-06-23T21:30:38.012Z] from numpy.linalg import inv
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] from matplotlib import _api
[2024-06-23T21:30:38.012Z] > from matplotlib._path import (
[2024-06-23T21:30:38.012Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.012Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.012Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.012Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.012Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.012Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.012Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.012Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.012Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.012Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.012Z] code = main()
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.012Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.012Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.012Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.012Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.012Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.012Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.012Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.012Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.012Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.012Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.012Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.012Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.012Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.012Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.012Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.012Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.012Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.012Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.012Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.012Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.012Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.012Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.012Z] item.runtest()
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.012Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.012Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.012Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.012Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.012Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.012Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 216, in test_lines_simple_no_corner_mask_chunk
[2024-06-23T21:30:38.012Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.012Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.012Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.012Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.012Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.012Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.012Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.012Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.012Z] from matplotlib._path import (
[2024-06-23T21:30:38.012Z] Traceback (most recent call last):
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.012Z] raise ImportError(msg)
[2024-06-23T21:30:38.012Z] ImportError:
[2024-06-23T21:30:38.012Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.012Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.012Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.012Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.012Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.012Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] _________ test_lines_simple_no_corner_mask_chunk[mpl2014-SeparateCode] _________
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] name = 'mpl2014', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] @pytest.mark.image
[2024-06-23T21:30:38.012Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.012Z] def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.012Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] tests/test_lines.py:216:
[2024-06-23T21:30:38.012Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.012Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.012Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.012Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.012Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.012Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.012Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.012Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.012Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.012Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.012Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.012Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.012Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.012Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] """
[2024-06-23T21:30:38.012Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.012Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.012Z] elements drawn on the canvas.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.012Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.012Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.012Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.012Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.012Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.012Z] interactive performance.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.012Z] to the graph:
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.012Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.012Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.012Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.012Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.012Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.012Z] themselves.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.012Z] of how to use transforms.
[2024-06-23T21:30:38.012Z] """
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.012Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.012Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] import copy
[2024-06-23T21:30:38.012Z] import functools
[2024-06-23T21:30:38.012Z] import textwrap
[2024-06-23T21:30:38.012Z] import weakref
[2024-06-23T21:30:38.012Z] import math
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] import numpy as np
[2024-06-23T21:30:38.012Z] from numpy.linalg import inv
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] from matplotlib import _api
[2024-06-23T21:30:38.012Z] > from matplotlib._path import (
[2024-06-23T21:30:38.012Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.012Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.012Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.012Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.012Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.012Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.012Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.012Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.012Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.012Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.012Z] code = main()
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.012Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.012Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.012Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.012Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.012Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.012Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.012Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.012Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.012Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.012Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.012Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.012Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.012Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.012Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.012Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.012Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.012Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.012Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.012Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.012Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.012Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.012Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.012Z] item.runtest()
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.012Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.012Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.012Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.012Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.012Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.012Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 216, in test_lines_simple_no_corner_mask_chunk
[2024-06-23T21:30:38.012Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.012Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.012Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.012Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.012Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.012Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.012Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.012Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.012Z] from matplotlib._path import (
[2024-06-23T21:30:38.012Z] Traceback (most recent call last):
[2024-06-23T21:30:38.012Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.012Z] raise ImportError(msg)
[2024-06-23T21:30:38.012Z] ImportError:
[2024-06-23T21:30:38.012Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.012Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.012Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.012Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.012Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.012Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] ___________ test_lines_simple_no_corner_mask_chunk[serial-Separate] ____________
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] name = 'serial', line_type = <LineType.Separate: 101>
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] @pytest.mark.image
[2024-06-23T21:30:38.012Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.012Z] def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.012Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] tests/test_lines.py:216:
[2024-06-23T21:30:38.012Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.012Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.012Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.012Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.012Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.012Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.012Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.012Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.012Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.012Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.012Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.012Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.012Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.012Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] """
[2024-06-23T21:30:38.012Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.012Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.012Z] elements drawn on the canvas.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.012Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.012Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.012Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.012Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.012Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.012Z] interactive performance.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.012Z] to the graph:
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.012Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.012Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.012Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.012Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.012Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.012Z] themselves.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.012Z] of how to use transforms.
[2024-06-23T21:30:38.012Z] """
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.012Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.012Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.012Z] import copy
[2024-06-23T21:30:38.012Z] import functools
[2024-06-23T21:30:38.012Z] import textwrap
[2024-06-23T21:30:38.012Z] import weakref
[2024-06-23T21:30:38.012Z] import math
[2024-06-23T21:30:38.012Z]
[2024-06-23T21:30:38.013Z] import numpy as np
[2024-06-23T21:30:38.013Z] from numpy.linalg import inv
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] from matplotlib import _api
[2024-06-23T21:30:38.013Z] > from matplotlib._path import (
[2024-06-23T21:30:38.013Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.013Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.013Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.013Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.013Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.013Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.013Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.013Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.013Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.013Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.013Z] code = main()
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.013Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.013Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.013Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.013Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.013Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.013Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.013Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.013Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.013Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.013Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.013Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.013Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.013Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.013Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.013Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.013Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.013Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.013Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.013Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.013Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.013Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.013Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.013Z] item.runtest()
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.013Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.013Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.013Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.013Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.013Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.013Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 216, in test_lines_simple_no_corner_mask_chunk
[2024-06-23T21:30:38.013Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.013Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.013Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.013Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.013Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.013Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.013Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.013Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.013Z] from matplotlib._path import (
[2024-06-23T21:30:38.013Z] Traceback (most recent call last):
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.013Z] raise ImportError(msg)
[2024-06-23T21:30:38.013Z] ImportError:
[2024-06-23T21:30:38.013Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.013Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.013Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.013Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.013Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.013Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] _________ test_lines_simple_no_corner_mask_chunk[serial-SeparateCode] __________
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] name = 'serial', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] @pytest.mark.image
[2024-06-23T21:30:38.013Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.013Z] def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.013Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] tests/test_lines.py:216:
[2024-06-23T21:30:38.013Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.013Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.013Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.013Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.013Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.013Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.013Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.013Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.013Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.013Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.013Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.013Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.013Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.013Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] """
[2024-06-23T21:30:38.013Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.013Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.013Z] elements drawn on the canvas.
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.013Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.013Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.013Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.013Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.013Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.013Z] interactive performance.
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.013Z] to the graph:
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.013Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.013Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.013Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.013Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.013Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.013Z] themselves.
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.013Z] of how to use transforms.
[2024-06-23T21:30:38.013Z] """
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.013Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.013Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] import copy
[2024-06-23T21:30:38.013Z] import functools
[2024-06-23T21:30:38.013Z] import textwrap
[2024-06-23T21:30:38.013Z] import weakref
[2024-06-23T21:30:38.013Z] import math
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] import numpy as np
[2024-06-23T21:30:38.013Z] from numpy.linalg import inv
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] from matplotlib import _api
[2024-06-23T21:30:38.013Z] > from matplotlib._path import (
[2024-06-23T21:30:38.013Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.013Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.013Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.013Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.013Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.013Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.013Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.013Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.013Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.013Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.013Z] code = main()
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.013Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.013Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.013Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.013Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.013Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.013Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.013Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.013Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.013Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.013Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.013Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.013Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.013Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.013Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.013Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.013Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.013Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.013Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.013Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.013Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.013Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.013Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.013Z] item.runtest()
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.013Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.013Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.013Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.013Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.013Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.013Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 216, in test_lines_simple_no_corner_mask_chunk
[2024-06-23T21:30:38.013Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.013Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.013Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.013Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.013Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.013Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.013Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.013Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.013Z] from matplotlib._path import (
[2024-06-23T21:30:38.013Z] Traceback (most recent call last):
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.013Z] raise ImportError(msg)
[2024-06-23T21:30:38.013Z] ImportError:
[2024-06-23T21:30:38.013Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.013Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.013Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.013Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.013Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.013Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] _______ test_lines_simple_no_corner_mask_chunk[serial-ChunkCombinedCode] _______
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] name = 'serial', line_type = <LineType.ChunkCombinedCode: 103>
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] @pytest.mark.image
[2024-06-23T21:30:38.013Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.013Z] def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.013Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] tests/test_lines.py:216:
[2024-06-23T21:30:38.013Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.013Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.013Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.013Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.013Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.013Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.013Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.013Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.013Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.013Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.013Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.013Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.013Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.013Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] """
[2024-06-23T21:30:38.013Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.013Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.013Z] elements drawn on the canvas.
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.013Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.013Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.013Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.013Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.013Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.013Z] interactive performance.
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.013Z] to the graph:
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.013Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.013Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.013Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.013Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.013Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.013Z] themselves.
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.013Z] of how to use transforms.
[2024-06-23T21:30:38.013Z] """
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.013Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.013Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] import copy
[2024-06-23T21:30:38.013Z] import functools
[2024-06-23T21:30:38.013Z] import textwrap
[2024-06-23T21:30:38.013Z] import weakref
[2024-06-23T21:30:38.013Z] import math
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] import numpy as np
[2024-06-23T21:30:38.013Z] from numpy.linalg import inv
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] from matplotlib import _api
[2024-06-23T21:30:38.013Z] > from matplotlib._path import (
[2024-06-23T21:30:38.013Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.013Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.013Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.013Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.013Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.013Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.013Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.013Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.013Z]
[2024-06-23T21:30:38.013Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.013Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.013Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.013Z] code = main()
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.013Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.013Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.013Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.013Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.013Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.013Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.013Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.013Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.013Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.013Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.013Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.013Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.014Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.014Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.014Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.014Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.014Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.014Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.014Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.014Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.014Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.014Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.014Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.014Z] item.runtest()
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.014Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.014Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.014Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.014Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.014Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.014Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 216, in test_lines_simple_no_corner_mask_chunk
[2024-06-23T21:30:38.014Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.014Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.014Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.014Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.014Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.014Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.014Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.014Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.014Z] from matplotlib._path import (
[2024-06-23T21:30:38.014Z] Traceback (most recent call last):
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.014Z] raise ImportError(msg)
[2024-06-23T21:30:38.014Z] ImportError:
[2024-06-23T21:30:38.014Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.014Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.014Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.014Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.014Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.014Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] ______ test_lines_simple_no_corner_mask_chunk[serial-ChunkCombinedOffset] ______
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] name = 'serial', line_type = <LineType.ChunkCombinedOffset: 104>
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] @pytest.mark.image
[2024-06-23T21:30:38.014Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.014Z] def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.014Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] tests/test_lines.py:216:
[2024-06-23T21:30:38.014Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.014Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.014Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.014Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.014Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.014Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.014Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.014Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.014Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.014Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.014Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.014Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.014Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.014Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] """
[2024-06-23T21:30:38.014Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.014Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.014Z] elements drawn on the canvas.
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.014Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.014Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.014Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.014Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.014Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.014Z] interactive performance.
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.014Z] to the graph:
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.014Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.014Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.014Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.014Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.014Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.014Z] themselves.
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.014Z] of how to use transforms.
[2024-06-23T21:30:38.014Z] """
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.014Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.014Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] import copy
[2024-06-23T21:30:38.014Z] import functools
[2024-06-23T21:30:38.014Z] import textwrap
[2024-06-23T21:30:38.014Z] import weakref
[2024-06-23T21:30:38.014Z] import math
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] import numpy as np
[2024-06-23T21:30:38.014Z] from numpy.linalg import inv
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] from matplotlib import _api
[2024-06-23T21:30:38.014Z] > from matplotlib._path import (
[2024-06-23T21:30:38.014Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.014Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.014Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.014Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.014Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.014Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.014Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.014Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.014Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.014Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.014Z] code = main()
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.014Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.014Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.014Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.014Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.014Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.014Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.014Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.014Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.014Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.014Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.014Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.014Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.014Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.014Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.014Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.014Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.014Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.014Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.014Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.014Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.014Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.014Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.014Z] item.runtest()
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.014Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.014Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.014Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.014Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.014Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.014Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 216, in test_lines_simple_no_corner_mask_chunk
[2024-06-23T21:30:38.014Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.014Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.014Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.014Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.014Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.014Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.014Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.014Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.014Z] from matplotlib._path import (
[2024-06-23T21:30:38.014Z] Traceback (most recent call last):
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.014Z] raise ImportError(msg)
[2024-06-23T21:30:38.014Z] ImportError:
[2024-06-23T21:30:38.014Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.014Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.014Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.014Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.014Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.014Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] _______ test_lines_simple_no_corner_mask_chunk[serial-ChunkCombinedNan] ________
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] name = 'serial', line_type = <LineType.ChunkCombinedNan: 105>
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] @pytest.mark.image
[2024-06-23T21:30:38.014Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.014Z] def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.014Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] tests/test_lines.py:216:
[2024-06-23T21:30:38.014Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.014Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.014Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.014Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.014Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.014Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.014Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.014Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.014Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.014Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.014Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.014Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.014Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.014Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] """
[2024-06-23T21:30:38.014Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.014Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.014Z] elements drawn on the canvas.
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.014Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.014Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.014Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.014Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.014Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.014Z] interactive performance.
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.014Z] to the graph:
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.014Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.014Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.014Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.014Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.014Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.014Z] themselves.
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.014Z] of how to use transforms.
[2024-06-23T21:30:38.014Z] """
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.014Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.014Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] import copy
[2024-06-23T21:30:38.014Z] import functools
[2024-06-23T21:30:38.014Z] import textwrap
[2024-06-23T21:30:38.014Z] import weakref
[2024-06-23T21:30:38.014Z] import math
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] import numpy as np
[2024-06-23T21:30:38.014Z] from numpy.linalg import inv
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] from matplotlib import _api
[2024-06-23T21:30:38.014Z] > from matplotlib._path import (
[2024-06-23T21:30:38.014Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.014Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.014Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.014Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.014Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.014Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.014Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.014Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.014Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.014Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.014Z] code = main()
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.014Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.014Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.014Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.014Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.014Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.014Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.014Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.014Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.014Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.014Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.014Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.014Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.014Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.014Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.014Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.014Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.014Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.014Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.014Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.014Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.014Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.014Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.014Z] item.runtest()
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.014Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.014Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.014Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.014Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.014Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.014Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 216, in test_lines_simple_no_corner_mask_chunk
[2024-06-23T21:30:38.014Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.014Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.014Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.014Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.014Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.014Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.014Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.014Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.014Z] from matplotlib._path import (
[2024-06-23T21:30:38.014Z] Traceback (most recent call last):
[2024-06-23T21:30:38.014Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.014Z] raise ImportError(msg)
[2024-06-23T21:30:38.014Z] ImportError:
[2024-06-23T21:30:38.014Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.014Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.014Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.014Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.014Z]
[2024-06-23T21:30:38.014Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.014Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.015Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] __________ test_lines_simple_no_corner_mask_chunk[threaded-Separate] ___________
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] name = 'threaded', line_type = <LineType.Separate: 101>
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] @pytest.mark.image
[2024-06-23T21:30:38.015Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.015Z] def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.015Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] tests/test_lines.py:216:
[2024-06-23T21:30:38.015Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.015Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.015Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.015Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.015Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.015Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.015Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.015Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.015Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.015Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.015Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.015Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.015Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.015Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] """
[2024-06-23T21:30:38.015Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.015Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.015Z] elements drawn on the canvas.
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.015Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.015Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.015Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.015Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.015Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.015Z] interactive performance.
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.015Z] to the graph:
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.015Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.015Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.015Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.015Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.015Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.015Z] themselves.
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.015Z] of how to use transforms.
[2024-06-23T21:30:38.015Z] """
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.015Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.015Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] import copy
[2024-06-23T21:30:38.015Z] import functools
[2024-06-23T21:30:38.015Z] import textwrap
[2024-06-23T21:30:38.015Z] import weakref
[2024-06-23T21:30:38.015Z] import math
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] import numpy as np
[2024-06-23T21:30:38.015Z] from numpy.linalg import inv
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] from matplotlib import _api
[2024-06-23T21:30:38.015Z] > from matplotlib._path import (
[2024-06-23T21:30:38.015Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.015Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.015Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.015Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.015Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.015Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.015Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.015Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.015Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.015Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.015Z] code = main()
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.015Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.015Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.015Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.015Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.015Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.015Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.015Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.015Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.015Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.015Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.015Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.015Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.015Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.015Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.015Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.015Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.015Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.015Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.015Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.015Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.015Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.015Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.015Z] item.runtest()
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.015Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.015Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.015Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.015Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.015Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.015Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 216, in test_lines_simple_no_corner_mask_chunk
[2024-06-23T21:30:38.015Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.015Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.015Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.015Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.015Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.015Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.015Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.015Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.015Z] from matplotlib._path import (
[2024-06-23T21:30:38.015Z] Traceback (most recent call last):
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.015Z] raise ImportError(msg)
[2024-06-23T21:30:38.015Z] ImportError:
[2024-06-23T21:30:38.015Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.015Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.015Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.015Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.015Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.015Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] ________ test_lines_simple_no_corner_mask_chunk[threaded-SeparateCode] _________
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] name = 'threaded', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] @pytest.mark.image
[2024-06-23T21:30:38.015Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.015Z] def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.015Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] tests/test_lines.py:216:
[2024-06-23T21:30:38.015Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.015Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.015Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.015Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.015Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.015Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.015Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.015Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.015Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.015Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.015Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.015Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.015Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.015Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] """
[2024-06-23T21:30:38.015Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.015Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.015Z] elements drawn on the canvas.
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.015Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.015Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.015Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.015Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.015Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.015Z] interactive performance.
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.015Z] to the graph:
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.015Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.015Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.015Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.015Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.015Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.015Z] themselves.
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.015Z] of how to use transforms.
[2024-06-23T21:30:38.015Z] """
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.015Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.015Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] import copy
[2024-06-23T21:30:38.015Z] import functools
[2024-06-23T21:30:38.015Z] import textwrap
[2024-06-23T21:30:38.015Z] import weakref
[2024-06-23T21:30:38.015Z] import math
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] import numpy as np
[2024-06-23T21:30:38.015Z] from numpy.linalg import inv
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] from matplotlib import _api
[2024-06-23T21:30:38.015Z] > from matplotlib._path import (
[2024-06-23T21:30:38.015Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.015Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.015Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.015Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.015Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.015Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.015Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.015Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.015Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.015Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.015Z] code = main()
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.015Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.015Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.015Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.015Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.015Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.015Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.015Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.015Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.015Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.015Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.015Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.015Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.015Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.015Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.015Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.015Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.015Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.015Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.015Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.015Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.015Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.015Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.015Z] item.runtest()
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.015Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.015Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.015Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.015Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.015Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.015Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 216, in test_lines_simple_no_corner_mask_chunk
[2024-06-23T21:30:38.015Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.015Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.015Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.015Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.015Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.015Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.015Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.015Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.015Z] from matplotlib._path import (
[2024-06-23T21:30:38.015Z] Traceback (most recent call last):
[2024-06-23T21:30:38.015Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.015Z] raise ImportError(msg)
[2024-06-23T21:30:38.015Z] ImportError:
[2024-06-23T21:30:38.015Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.015Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.015Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.015Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.015Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.015Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] ______ test_lines_simple_no_corner_mask_chunk[threaded-ChunkCombinedCode] ______
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] name = 'threaded', line_type = <LineType.ChunkCombinedCode: 103>
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] @pytest.mark.image
[2024-06-23T21:30:38.015Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.015Z] def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.015Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] tests/test_lines.py:216:
[2024-06-23T21:30:38.015Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.015Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.015Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.015Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.015Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.015Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.015Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.015Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.015Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.015Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.015Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.015Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.015Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.015Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] """
[2024-06-23T21:30:38.015Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.015Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.015Z] elements drawn on the canvas.
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.015Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.015Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.015Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.015Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.015Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.015Z] interactive performance.
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.015Z] to the graph:
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.015Z]
[2024-06-23T21:30:38.015Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.015Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.015Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.015Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.015Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.016Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.016Z] themselves.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.016Z] of how to use transforms.
[2024-06-23T21:30:38.016Z] """
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.016Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.016Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] import copy
[2024-06-23T21:30:38.016Z] import functools
[2024-06-23T21:30:38.016Z] import textwrap
[2024-06-23T21:30:38.016Z] import weakref
[2024-06-23T21:30:38.016Z] import math
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] import numpy as np
[2024-06-23T21:30:38.016Z] from numpy.linalg import inv
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] from matplotlib import _api
[2024-06-23T21:30:38.016Z] > from matplotlib._path import (
[2024-06-23T21:30:38.016Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.016Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.016Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.016Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.016Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.016Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.016Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.016Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.016Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.016Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.016Z] code = main()
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.016Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.016Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.016Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.016Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.016Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.016Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.016Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.016Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.016Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.016Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.016Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.016Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.016Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.016Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.016Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.016Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.016Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.016Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.016Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.016Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.016Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.016Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.016Z] item.runtest()
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.016Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.016Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.016Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.016Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.016Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.016Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 216, in test_lines_simple_no_corner_mask_chunk
[2024-06-23T21:30:38.016Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.016Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.016Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.016Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.016Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.016Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.016Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.016Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.016Z] from matplotlib._path import (
[2024-06-23T21:30:38.016Z] Traceback (most recent call last):
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.016Z] raise ImportError(msg)
[2024-06-23T21:30:38.016Z] ImportError:
[2024-06-23T21:30:38.016Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.016Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.016Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.016Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.016Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.016Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] _____ test_lines_simple_no_corner_mask_chunk[threaded-ChunkCombinedOffset] _____
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] name = 'threaded', line_type = <LineType.ChunkCombinedOffset: 104>
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] @pytest.mark.image
[2024-06-23T21:30:38.016Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.016Z] def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.016Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] tests/test_lines.py:216:
[2024-06-23T21:30:38.016Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.016Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.016Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.016Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.016Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.016Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.016Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.016Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.016Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.016Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.016Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.016Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.016Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.016Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] """
[2024-06-23T21:30:38.016Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.016Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.016Z] elements drawn on the canvas.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.016Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.016Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.016Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.016Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.016Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.016Z] interactive performance.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.016Z] to the graph:
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.016Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.016Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.016Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.016Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.016Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.016Z] themselves.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.016Z] of how to use transforms.
[2024-06-23T21:30:38.016Z] """
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.016Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.016Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] import copy
[2024-06-23T21:30:38.016Z] import functools
[2024-06-23T21:30:38.016Z] import textwrap
[2024-06-23T21:30:38.016Z] import weakref
[2024-06-23T21:30:38.016Z] import math
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] import numpy as np
[2024-06-23T21:30:38.016Z] from numpy.linalg import inv
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] from matplotlib import _api
[2024-06-23T21:30:38.016Z] > from matplotlib._path import (
[2024-06-23T21:30:38.016Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.016Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.016Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.016Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.016Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.016Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.016Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.016Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.016Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.016Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.016Z] code = main()
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.016Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.016Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.016Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.016Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.016Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.016Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.016Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.016Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.016Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.016Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.016Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.016Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.016Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.016Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.016Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.016Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.016Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.016Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.016Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.016Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.016Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.016Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.016Z] item.runtest()
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.016Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.016Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.016Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.016Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.016Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.016Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 216, in test_lines_simple_no_corner_mask_chunk
[2024-06-23T21:30:38.016Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.016Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.016Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.016Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.016Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.016Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.016Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.016Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.016Z] from matplotlib._path import (
[2024-06-23T21:30:38.016Z] Traceback (most recent call last):
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.016Z] raise ImportError(msg)
[2024-06-23T21:30:38.016Z] ImportError:
[2024-06-23T21:30:38.016Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.016Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.016Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.016Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.016Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.016Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] ______ test_lines_simple_no_corner_mask_chunk[threaded-ChunkCombinedNan] _______
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] name = 'threaded', line_type = <LineType.ChunkCombinedNan: 105>
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] @pytest.mark.image
[2024-06-23T21:30:38.016Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.016Z] def test_lines_simple_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.016Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] tests/test_lines.py:216:
[2024-06-23T21:30:38.016Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.016Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.016Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.016Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.016Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.016Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.016Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.016Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.016Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.016Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.016Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.016Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.016Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.016Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] """
[2024-06-23T21:30:38.016Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.016Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.016Z] elements drawn on the canvas.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.016Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.016Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.016Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.016Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.016Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.016Z] interactive performance.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.016Z] to the graph:
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.016Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.016Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.016Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.016Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.016Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.016Z] themselves.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.016Z] of how to use transforms.
[2024-06-23T21:30:38.016Z] """
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.016Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.016Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] import copy
[2024-06-23T21:30:38.016Z] import functools
[2024-06-23T21:30:38.016Z] import textwrap
[2024-06-23T21:30:38.016Z] import weakref
[2024-06-23T21:30:38.016Z] import math
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] import numpy as np
[2024-06-23T21:30:38.016Z] from numpy.linalg import inv
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] from matplotlib import _api
[2024-06-23T21:30:38.016Z] > from matplotlib._path import (
[2024-06-23T21:30:38.016Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.016Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.016Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.016Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.016Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.016Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.016Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.016Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.016Z]
[2024-06-23T21:30:38.016Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.016Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.016Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.016Z] code = main()
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.016Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.016Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.016Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.016Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.016Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.016Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.016Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.016Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.016Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.016Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.016Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.016Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.016Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.016Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.017Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.017Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.017Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.017Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.017Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.017Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.017Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.017Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.017Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.017Z] item.runtest()
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.017Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.017Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.017Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.017Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.017Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.017Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 216, in test_lines_simple_no_corner_mask_chunk
[2024-06-23T21:30:38.017Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.017Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.017Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.017Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.017Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.017Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.017Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.017Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.017Z] from matplotlib._path import (
[2024-06-23T21:30:38.017Z] Traceback (most recent call last):
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.017Z] raise ImportError(msg)
[2024-06-23T21:30:38.017Z] ImportError:
[2024-06-23T21:30:38.017Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.017Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.017Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.017Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.017Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.017Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] __________ test_lines_simple_no_corner_mask_chunk_threads[2-Separate] __________
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] line_type = <LineType.Separate: 101>, thread_count = 2
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] @pytest.mark.image
[2024-06-23T21:30:38.017Z] @pytest.mark.threads
[2024-06-23T21:30:38.017Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.017Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.017Z] def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.017Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] tests/test_lines.py:243:
[2024-06-23T21:30:38.017Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.017Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.017Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.017Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.017Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.017Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.017Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.017Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.017Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.017Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.017Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.017Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.017Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.017Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] """
[2024-06-23T21:30:38.017Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.017Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.017Z] elements drawn on the canvas.
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.017Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.017Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.017Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.017Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.017Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.017Z] interactive performance.
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.017Z] to the graph:
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.017Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.017Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.017Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.017Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.017Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.017Z] themselves.
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.017Z] of how to use transforms.
[2024-06-23T21:30:38.017Z] """
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.017Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.017Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] import copy
[2024-06-23T21:30:38.017Z] import functools
[2024-06-23T21:30:38.017Z] import textwrap
[2024-06-23T21:30:38.017Z] import weakref
[2024-06-23T21:30:38.017Z] import math
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] import numpy as np
[2024-06-23T21:30:38.017Z] from numpy.linalg import inv
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] from matplotlib import _api
[2024-06-23T21:30:38.017Z] > from matplotlib._path import (
[2024-06-23T21:30:38.017Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.017Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.017Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.017Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.017Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.017Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.017Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.017Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.017Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.017Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.017Z] code = main()
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.017Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.017Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.017Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.017Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.017Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.017Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.017Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.017Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.017Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.017Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.017Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.017Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.017Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.017Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.017Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.017Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.017Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.017Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.017Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.017Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.017Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.017Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.017Z] item.runtest()
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.017Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.017Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.017Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.017Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.017Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.017Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 243, in test_lines_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.017Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.017Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.017Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.017Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.017Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.017Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.017Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.017Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.017Z] from matplotlib._path import (
[2024-06-23T21:30:38.017Z] Traceback (most recent call last):
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.017Z] raise ImportError(msg)
[2024-06-23T21:30:38.017Z] ImportError:
[2024-06-23T21:30:38.017Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.017Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.017Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.017Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.017Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.017Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] ________ test_lines_simple_no_corner_mask_chunk_threads[2-SeparateCode] ________
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] line_type = <LineType.SeparateCode: 102>, thread_count = 2
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] @pytest.mark.image
[2024-06-23T21:30:38.017Z] @pytest.mark.threads
[2024-06-23T21:30:38.017Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.017Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.017Z] def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.017Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] tests/test_lines.py:243:
[2024-06-23T21:30:38.017Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.017Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.017Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.017Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.017Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.017Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.017Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.017Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.017Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.017Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.017Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.017Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.017Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.017Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] """
[2024-06-23T21:30:38.017Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.017Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.017Z] elements drawn on the canvas.
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.017Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.017Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.017Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.017Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.017Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.017Z] interactive performance.
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.017Z] to the graph:
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.017Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.017Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.017Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.017Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.017Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.017Z] themselves.
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.017Z] of how to use transforms.
[2024-06-23T21:30:38.017Z] """
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.017Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.017Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] import copy
[2024-06-23T21:30:38.017Z] import functools
[2024-06-23T21:30:38.017Z] import textwrap
[2024-06-23T21:30:38.017Z] import weakref
[2024-06-23T21:30:38.017Z] import math
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] import numpy as np
[2024-06-23T21:30:38.017Z] from numpy.linalg import inv
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] from matplotlib import _api
[2024-06-23T21:30:38.017Z] > from matplotlib._path import (
[2024-06-23T21:30:38.017Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.017Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.017Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.017Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.017Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.017Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.017Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.017Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.017Z]
[2024-06-23T21:30:38.017Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.017Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.017Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.017Z] code = main()
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.017Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.017Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.017Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.017Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.017Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.017Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.017Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.017Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.017Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.017Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.017Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.017Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.017Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.017Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.017Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.017Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.017Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.017Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.017Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.017Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.017Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.017Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.017Z] item.runtest()
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.017Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.017Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.017Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.017Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.017Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.017Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 243, in test_lines_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.017Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.017Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.017Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.017Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.017Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.018Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.018Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.018Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.018Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.018Z] from matplotlib._path import (
[2024-06-23T21:30:38.018Z] Traceback (most recent call last):
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.018Z] raise ImportError(msg)
[2024-06-23T21:30:38.018Z] ImportError:
[2024-06-23T21:30:38.018Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.018Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.018Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.018Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.018Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.018Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] _____ test_lines_simple_no_corner_mask_chunk_threads[2-ChunkCombinedCode] ______
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] line_type = <LineType.ChunkCombinedCode: 103>, thread_count = 2
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] @pytest.mark.image
[2024-06-23T21:30:38.018Z] @pytest.mark.threads
[2024-06-23T21:30:38.018Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.018Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.018Z] def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.018Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] tests/test_lines.py:243:
[2024-06-23T21:30:38.018Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.018Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.018Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.018Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.018Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.018Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.018Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.018Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.018Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.018Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.018Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.018Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.018Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.018Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] """
[2024-06-23T21:30:38.018Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.018Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.018Z] elements drawn on the canvas.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.018Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.018Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.018Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.018Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.018Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.018Z] interactive performance.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.018Z] to the graph:
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.018Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.018Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.018Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.018Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.018Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.018Z] themselves.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.018Z] of how to use transforms.
[2024-06-23T21:30:38.018Z] """
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.018Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.018Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] import copy
[2024-06-23T21:30:38.018Z] import functools
[2024-06-23T21:30:38.018Z] import textwrap
[2024-06-23T21:30:38.018Z] import weakref
[2024-06-23T21:30:38.018Z] import math
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] import numpy as np
[2024-06-23T21:30:38.018Z] from numpy.linalg import inv
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] from matplotlib import _api
[2024-06-23T21:30:38.018Z] > from matplotlib._path import (
[2024-06-23T21:30:38.018Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.018Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.018Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.018Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.018Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.018Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.018Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.018Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.018Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.018Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.018Z] code = main()
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.018Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.018Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.018Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.018Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.018Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.018Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.018Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.018Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.018Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.018Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.018Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.018Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.018Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.018Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.018Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.018Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.018Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.018Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.018Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.018Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.018Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.018Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.018Z] item.runtest()
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.018Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.018Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.018Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.018Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.018Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.018Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 243, in test_lines_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.018Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.018Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.018Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.018Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.018Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.018Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.018Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.018Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.018Z] from matplotlib._path import (
[2024-06-23T21:30:38.018Z] Traceback (most recent call last):
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.018Z] raise ImportError(msg)
[2024-06-23T21:30:38.018Z] ImportError:
[2024-06-23T21:30:38.018Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.018Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.018Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.018Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.018Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.018Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] ____ test_lines_simple_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] _____
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] line_type = <LineType.ChunkCombinedOffset: 104>, thread_count = 2
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] @pytest.mark.image
[2024-06-23T21:30:38.018Z] @pytest.mark.threads
[2024-06-23T21:30:38.018Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.018Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.018Z] def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.018Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] tests/test_lines.py:243:
[2024-06-23T21:30:38.018Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.018Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.018Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.018Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.018Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.018Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.018Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.018Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.018Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.018Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.018Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.018Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.018Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.018Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] """
[2024-06-23T21:30:38.018Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.018Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.018Z] elements drawn on the canvas.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.018Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.018Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.018Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.018Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.018Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.018Z] interactive performance.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.018Z] to the graph:
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.018Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.018Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.018Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.018Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.018Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.018Z] themselves.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.018Z] of how to use transforms.
[2024-06-23T21:30:38.018Z] """
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.018Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.018Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] import copy
[2024-06-23T21:30:38.018Z] import functools
[2024-06-23T21:30:38.018Z] import textwrap
[2024-06-23T21:30:38.018Z] import weakref
[2024-06-23T21:30:38.018Z] import math
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] import numpy as np
[2024-06-23T21:30:38.018Z] from numpy.linalg import inv
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] from matplotlib import _api
[2024-06-23T21:30:38.018Z] > from matplotlib._path import (
[2024-06-23T21:30:38.018Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.018Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.018Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.018Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.018Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.018Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.018Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.018Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.018Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.018Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.018Z] code = main()
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.018Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.018Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.018Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.018Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.018Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.018Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.018Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.018Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.018Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.018Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.018Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.018Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.018Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.018Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.018Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.018Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.018Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.018Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.018Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.018Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.018Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.018Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.018Z] item.runtest()
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.018Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.018Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.018Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.018Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.018Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.018Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 243, in test_lines_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.018Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.018Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.018Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.018Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.018Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.018Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.018Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.018Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.018Z] from matplotlib._path import (
[2024-06-23T21:30:38.018Z] Traceback (most recent call last):
[2024-06-23T21:30:38.018Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.018Z] raise ImportError(msg)
[2024-06-23T21:30:38.018Z] ImportError:
[2024-06-23T21:30:38.018Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.018Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.018Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.018Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.018Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.018Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] ______ test_lines_simple_no_corner_mask_chunk_threads[2-ChunkCombinedNan] ______
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] line_type = <LineType.ChunkCombinedNan: 105>, thread_count = 2
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] @pytest.mark.image
[2024-06-23T21:30:38.018Z] @pytest.mark.threads
[2024-06-23T21:30:38.018Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.018Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.018Z] def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.018Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] tests/test_lines.py:243:
[2024-06-23T21:30:38.018Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.018Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.018Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.018Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.018Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.018Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.018Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.018Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.018Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.018Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.018Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.018Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.018Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.018Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] """
[2024-06-23T21:30:38.018Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.018Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.018Z] elements drawn on the canvas.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.018Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.018Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.018Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.018Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.018Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.018Z] interactive performance.
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.018Z] to the graph:
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.018Z]
[2024-06-23T21:30:38.018Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.019Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.019Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.019Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.019Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.019Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.019Z] themselves.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.019Z] of how to use transforms.
[2024-06-23T21:30:38.019Z] """
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.019Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.019Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] import copy
[2024-06-23T21:30:38.019Z] import functools
[2024-06-23T21:30:38.019Z] import textwrap
[2024-06-23T21:30:38.019Z] import weakref
[2024-06-23T21:30:38.019Z] import math
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] import numpy as np
[2024-06-23T21:30:38.019Z] from numpy.linalg import inv
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] from matplotlib import _api
[2024-06-23T21:30:38.019Z] > from matplotlib._path import (
[2024-06-23T21:30:38.019Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.019Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.019Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.019Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.019Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.019Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.019Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.019Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.019Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.019Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.019Z] code = main()
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.019Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.019Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.019Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.019Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.019Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.019Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.019Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.019Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.019Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.019Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.019Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.019Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.019Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.019Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.019Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.019Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.019Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.019Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.019Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.019Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.019Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.019Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.019Z] item.runtest()
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.019Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.019Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.019Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.019Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.019Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.019Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 243, in test_lines_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.019Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.019Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.019Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.019Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.019Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.019Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.019Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.019Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.019Z] from matplotlib._path import (
[2024-06-23T21:30:38.019Z] Traceback (most recent call last):
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.019Z] raise ImportError(msg)
[2024-06-23T21:30:38.019Z] ImportError:
[2024-06-23T21:30:38.019Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.019Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.019Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.019Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.019Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.019Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] __________ test_lines_simple_no_corner_mask_chunk_threads[3-Separate] __________
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] line_type = <LineType.Separate: 101>, thread_count = 3
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] @pytest.mark.image
[2024-06-23T21:30:38.019Z] @pytest.mark.threads
[2024-06-23T21:30:38.019Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.019Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.019Z] def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.019Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] tests/test_lines.py:243:
[2024-06-23T21:30:38.019Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.019Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.019Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.019Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.019Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.019Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.019Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.019Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.019Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.019Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.019Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.019Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.019Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.019Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] """
[2024-06-23T21:30:38.019Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.019Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.019Z] elements drawn on the canvas.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.019Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.019Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.019Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.019Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.019Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.019Z] interactive performance.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.019Z] to the graph:
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.019Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.019Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.019Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.019Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.019Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.019Z] themselves.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.019Z] of how to use transforms.
[2024-06-23T21:30:38.019Z] """
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.019Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.019Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] import copy
[2024-06-23T21:30:38.019Z] import functools
[2024-06-23T21:30:38.019Z] import textwrap
[2024-06-23T21:30:38.019Z] import weakref
[2024-06-23T21:30:38.019Z] import math
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] import numpy as np
[2024-06-23T21:30:38.019Z] from numpy.linalg import inv
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] from matplotlib import _api
[2024-06-23T21:30:38.019Z] > from matplotlib._path import (
[2024-06-23T21:30:38.019Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.019Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.019Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.019Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.019Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.019Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.019Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.019Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.019Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.019Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.019Z] code = main()
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.019Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.019Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.019Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.019Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.019Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.019Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.019Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.019Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.019Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.019Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.019Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.019Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.019Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.019Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.019Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.019Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.019Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.019Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.019Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.019Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.019Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.019Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.019Z] item.runtest()
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.019Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.019Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.019Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.019Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.019Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.019Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 243, in test_lines_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.019Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.019Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.019Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.019Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.019Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.019Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.019Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.019Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.019Z] from matplotlib._path import (
[2024-06-23T21:30:38.019Z] Traceback (most recent call last):
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.019Z] raise ImportError(msg)
[2024-06-23T21:30:38.019Z] ImportError:
[2024-06-23T21:30:38.019Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.019Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.019Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.019Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.019Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.019Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] ________ test_lines_simple_no_corner_mask_chunk_threads[3-SeparateCode] ________
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] line_type = <LineType.SeparateCode: 102>, thread_count = 3
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] @pytest.mark.image
[2024-06-23T21:30:38.019Z] @pytest.mark.threads
[2024-06-23T21:30:38.019Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.019Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.019Z] def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.019Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] tests/test_lines.py:243:
[2024-06-23T21:30:38.019Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.019Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.019Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.019Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.019Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.019Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.019Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.019Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.019Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.019Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.019Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.019Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.019Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.019Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] """
[2024-06-23T21:30:38.019Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.019Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.019Z] elements drawn on the canvas.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.019Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.019Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.019Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.019Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.019Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.019Z] interactive performance.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.019Z] to the graph:
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.019Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.019Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.019Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.019Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.019Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.019Z] themselves.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.019Z] of how to use transforms.
[2024-06-23T21:30:38.019Z] """
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.019Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.019Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] import copy
[2024-06-23T21:30:38.019Z] import functools
[2024-06-23T21:30:38.019Z] import textwrap
[2024-06-23T21:30:38.019Z] import weakref
[2024-06-23T21:30:38.019Z] import math
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] import numpy as np
[2024-06-23T21:30:38.019Z] from numpy.linalg import inv
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] from matplotlib import _api
[2024-06-23T21:30:38.019Z] > from matplotlib._path import (
[2024-06-23T21:30:38.019Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.019Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.019Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.019Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.019Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.019Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.019Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.019Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.019Z]
[2024-06-23T21:30:38.019Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.019Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.019Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.019Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.020Z] code = main()
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.020Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.020Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.020Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.020Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.020Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.020Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.020Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.020Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.020Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.020Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.020Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.020Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.020Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.020Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.020Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.020Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.020Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.020Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.020Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.020Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.020Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.020Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.020Z] item.runtest()
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.020Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.020Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.020Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.020Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.020Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.020Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 243, in test_lines_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.020Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.020Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.020Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.020Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.020Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.020Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.020Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.020Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.020Z] from matplotlib._path import (
[2024-06-23T21:30:38.020Z] Traceback (most recent call last):
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.020Z] raise ImportError(msg)
[2024-06-23T21:30:38.020Z] ImportError:
[2024-06-23T21:30:38.020Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.020Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.020Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.020Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.020Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.020Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] _____ test_lines_simple_no_corner_mask_chunk_threads[3-ChunkCombinedCode] ______
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] line_type = <LineType.ChunkCombinedCode: 103>, thread_count = 3
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] @pytest.mark.image
[2024-06-23T21:30:38.020Z] @pytest.mark.threads
[2024-06-23T21:30:38.020Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.020Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.020Z] def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.020Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] tests/test_lines.py:243:
[2024-06-23T21:30:38.020Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.020Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.020Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.020Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.020Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.020Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.020Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.020Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.020Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.020Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.020Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.020Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.020Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.020Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] """
[2024-06-23T21:30:38.020Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.020Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.020Z] elements drawn on the canvas.
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.020Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.020Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.020Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.020Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.020Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.020Z] interactive performance.
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.020Z] to the graph:
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.020Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.020Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.020Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.020Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.020Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.020Z] themselves.
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.020Z] of how to use transforms.
[2024-06-23T21:30:38.020Z] """
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.020Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.020Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] import copy
[2024-06-23T21:30:38.020Z] import functools
[2024-06-23T21:30:38.020Z] import textwrap
[2024-06-23T21:30:38.020Z] import weakref
[2024-06-23T21:30:38.020Z] import math
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] import numpy as np
[2024-06-23T21:30:38.020Z] from numpy.linalg import inv
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] from matplotlib import _api
[2024-06-23T21:30:38.020Z] > from matplotlib._path import (
[2024-06-23T21:30:38.020Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.020Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.020Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.020Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.020Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.020Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.020Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.020Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.020Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.020Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.020Z] code = main()
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.020Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.020Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.020Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.020Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.020Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.020Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.020Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.020Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.020Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.020Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.020Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.020Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.020Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.020Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.020Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.020Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.020Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.020Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.020Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.020Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.020Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.020Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.020Z] item.runtest()
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.020Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.020Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.020Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.020Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.020Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.020Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 243, in test_lines_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.020Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.020Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.020Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.020Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.020Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.020Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.020Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.020Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.020Z] from matplotlib._path import (
[2024-06-23T21:30:38.020Z] Traceback (most recent call last):
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.020Z] raise ImportError(msg)
[2024-06-23T21:30:38.020Z] ImportError:
[2024-06-23T21:30:38.020Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.020Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.020Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.020Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.020Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.020Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] ____ test_lines_simple_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] _____
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] line_type = <LineType.ChunkCombinedOffset: 104>, thread_count = 3
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] @pytest.mark.image
[2024-06-23T21:30:38.020Z] @pytest.mark.threads
[2024-06-23T21:30:38.020Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.020Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.020Z] def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.020Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] tests/test_lines.py:243:
[2024-06-23T21:30:38.020Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.020Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.020Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.020Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.020Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.020Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.020Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.020Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.020Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.020Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.020Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.020Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.020Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.020Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] """
[2024-06-23T21:30:38.020Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.020Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.020Z] elements drawn on the canvas.
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.020Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.020Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.020Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.020Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.020Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.020Z] interactive performance.
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.020Z] to the graph:
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.020Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.020Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.020Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.020Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.020Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.020Z] themselves.
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.020Z] of how to use transforms.
[2024-06-23T21:30:38.020Z] """
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.020Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.020Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] import copy
[2024-06-23T21:30:38.020Z] import functools
[2024-06-23T21:30:38.020Z] import textwrap
[2024-06-23T21:30:38.020Z] import weakref
[2024-06-23T21:30:38.020Z] import math
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] import numpy as np
[2024-06-23T21:30:38.020Z] from numpy.linalg import inv
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] from matplotlib import _api
[2024-06-23T21:30:38.020Z] > from matplotlib._path import (
[2024-06-23T21:30:38.020Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.020Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.020Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.020Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.020Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.020Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.020Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.020Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.020Z]
[2024-06-23T21:30:38.020Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.020Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.020Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.020Z] code = main()
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.020Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.020Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.020Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.020Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.020Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.020Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.020Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.020Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.020Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.020Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.020Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.020Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.020Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.020Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.020Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.020Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.020Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.020Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.020Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.020Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.020Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.020Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.021Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.021Z] item.runtest()
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.021Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.021Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.021Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.021Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.021Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.021Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 243, in test_lines_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.021Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.021Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.021Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.021Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.021Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.021Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.021Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.021Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.021Z] from matplotlib._path import (
[2024-06-23T21:30:38.021Z] Traceback (most recent call last):
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.021Z] raise ImportError(msg)
[2024-06-23T21:30:38.021Z] ImportError:
[2024-06-23T21:30:38.021Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.021Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.021Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.021Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.021Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.021Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] ______ test_lines_simple_no_corner_mask_chunk_threads[3-ChunkCombinedNan] ______
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] line_type = <LineType.ChunkCombinedNan: 105>, thread_count = 3
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] @pytest.mark.image
[2024-06-23T21:30:38.021Z] @pytest.mark.threads
[2024-06-23T21:30:38.021Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.021Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.021Z] def test_lines_simple_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.021Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] tests/test_lines.py:243:
[2024-06-23T21:30:38.021Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.021Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.021Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.021Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.021Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.021Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.021Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.021Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.021Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.021Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.021Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.021Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.021Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.021Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] """
[2024-06-23T21:30:38.021Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.021Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.021Z] elements drawn on the canvas.
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.021Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.021Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.021Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.021Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.021Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.021Z] interactive performance.
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.021Z] to the graph:
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.021Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.021Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.021Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.021Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.021Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.021Z] themselves.
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.021Z] of how to use transforms.
[2024-06-23T21:30:38.021Z] """
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.021Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.021Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] import copy
[2024-06-23T21:30:38.021Z] import functools
[2024-06-23T21:30:38.021Z] import textwrap
[2024-06-23T21:30:38.021Z] import weakref
[2024-06-23T21:30:38.021Z] import math
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] import numpy as np
[2024-06-23T21:30:38.021Z] from numpy.linalg import inv
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] from matplotlib import _api
[2024-06-23T21:30:38.021Z] > from matplotlib._path import (
[2024-06-23T21:30:38.021Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.021Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.021Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.021Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.021Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.021Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.021Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.021Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.021Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.021Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.021Z] code = main()
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.021Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.021Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.021Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.021Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.021Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.021Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.021Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.021Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.021Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.021Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.021Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.021Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.021Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.021Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.021Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.021Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.021Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.021Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.021Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.021Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.021Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.021Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.021Z] item.runtest()
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.021Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.021Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.021Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.021Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.021Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.021Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 243, in test_lines_simple_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.021Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.021Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.021Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.021Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.021Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.021Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.021Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.021Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.021Z] from matplotlib._path import (
[2024-06-23T21:30:38.021Z] Traceback (most recent call last):
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.021Z] raise ImportError(msg)
[2024-06-23T21:30:38.021Z] ImportError:
[2024-06-23T21:30:38.021Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.021Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.021Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.021Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.021Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.021Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] ____________________ test_lines_simple_corner_mask[mpl2014] ____________________
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] name = 'mpl2014'
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] @pytest.mark.image
[2024-06-23T21:30:38.021Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:38.021Z] def test_lines_simple_corner_mask(name: str) -> None:
[2024-06-23T21:30:38.021Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] tests/test_lines.py:271:
[2024-06-23T21:30:38.021Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.021Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.021Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.021Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.021Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.021Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.021Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.021Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.021Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.021Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.021Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.021Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.021Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.021Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] """
[2024-06-23T21:30:38.021Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.021Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.021Z] elements drawn on the canvas.
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.021Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.021Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.021Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.021Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.021Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.021Z] interactive performance.
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.021Z] to the graph:
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.021Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.021Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.021Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.021Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.021Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.021Z] themselves.
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.021Z] of how to use transforms.
[2024-06-23T21:30:38.021Z] """
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.021Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.021Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] import copy
[2024-06-23T21:30:38.021Z] import functools
[2024-06-23T21:30:38.021Z] import textwrap
[2024-06-23T21:30:38.021Z] import weakref
[2024-06-23T21:30:38.021Z] import math
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] import numpy as np
[2024-06-23T21:30:38.021Z] from numpy.linalg import inv
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] from matplotlib import _api
[2024-06-23T21:30:38.021Z] > from matplotlib._path import (
[2024-06-23T21:30:38.021Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.021Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.021Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.021Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.021Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.021Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.021Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.021Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.021Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.021Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.021Z] code = main()
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.021Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.021Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.021Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.021Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.021Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.021Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.021Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.021Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.021Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.021Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.021Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.021Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.021Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.021Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.021Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.021Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.021Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.021Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.021Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.021Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.021Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.021Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.021Z] item.runtest()
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.021Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.021Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.021Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.021Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.021Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.021Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 271, in test_lines_simple_corner_mask
[2024-06-23T21:30:38.021Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.021Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.021Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.021Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.021Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.021Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.021Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.021Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.021Z] from matplotlib._path import (
[2024-06-23T21:30:38.021Z] Traceback (most recent call last):
[2024-06-23T21:30:38.021Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.021Z] raise ImportError(msg)
[2024-06-23T21:30:38.021Z] ImportError:
[2024-06-23T21:30:38.021Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.021Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.021Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.021Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.021Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.021Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] ____________________ test_lines_simple_corner_mask[serial] _____________________
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] name = 'serial'
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] @pytest.mark.image
[2024-06-23T21:30:38.021Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:38.021Z] def test_lines_simple_corner_mask(name: str) -> None:
[2024-06-23T21:30:38.021Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.021Z]
[2024-06-23T21:30:38.021Z] tests/test_lines.py:271:
[2024-06-23T21:30:38.021Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.021Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.021Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.021Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.021Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.022Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.022Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.022Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.022Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.022Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.022Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.022Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.022Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.022Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] """
[2024-06-23T21:30:38.022Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.022Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.022Z] elements drawn on the canvas.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.022Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.022Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.022Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.022Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.022Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.022Z] interactive performance.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.022Z] to the graph:
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.022Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.022Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.022Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.022Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.022Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.022Z] themselves.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.022Z] of how to use transforms.
[2024-06-23T21:30:38.022Z] """
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.022Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.022Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] import copy
[2024-06-23T21:30:38.022Z] import functools
[2024-06-23T21:30:38.022Z] import textwrap
[2024-06-23T21:30:38.022Z] import weakref
[2024-06-23T21:30:38.022Z] import math
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] import numpy as np
[2024-06-23T21:30:38.022Z] from numpy.linalg import inv
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] from matplotlib import _api
[2024-06-23T21:30:38.022Z] > from matplotlib._path import (
[2024-06-23T21:30:38.022Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.022Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.022Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.022Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.022Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.022Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.022Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.022Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.022Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.022Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.022Z] code = main()
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.022Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.022Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.022Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.022Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.022Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.022Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.022Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.022Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.022Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.022Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.022Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.022Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.022Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.022Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.022Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.022Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.022Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.022Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.022Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.022Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.022Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.022Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.022Z] item.runtest()
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.022Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.022Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.022Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.022Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.022Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.022Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 271, in test_lines_simple_corner_mask
[2024-06-23T21:30:38.022Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.022Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.022Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.022Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.022Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.022Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.022Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.022Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.022Z] from matplotlib._path import (
[2024-06-23T21:30:38.022Z] Traceback (most recent call last):
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.022Z] raise ImportError(msg)
[2024-06-23T21:30:38.022Z] ImportError:
[2024-06-23T21:30:38.022Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.022Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.022Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.022Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.022Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.022Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] ___________________ test_lines_simple_corner_mask[threaded] ____________________
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] name = 'threaded'
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] @pytest.mark.image
[2024-06-23T21:30:38.022Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:38.022Z] def test_lines_simple_corner_mask(name: str) -> None:
[2024-06-23T21:30:38.022Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] tests/test_lines.py:271:
[2024-06-23T21:30:38.022Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.022Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.022Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.022Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.022Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.022Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.022Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.022Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.022Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.022Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.022Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.022Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.022Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.022Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] """
[2024-06-23T21:30:38.022Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.022Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.022Z] elements drawn on the canvas.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.022Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.022Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.022Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.022Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.022Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.022Z] interactive performance.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.022Z] to the graph:
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.022Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.022Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.022Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.022Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.022Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.022Z] themselves.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.022Z] of how to use transforms.
[2024-06-23T21:30:38.022Z] """
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.022Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.022Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] import copy
[2024-06-23T21:30:38.022Z] import functools
[2024-06-23T21:30:38.022Z] import textwrap
[2024-06-23T21:30:38.022Z] import weakref
[2024-06-23T21:30:38.022Z] import math
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] import numpy as np
[2024-06-23T21:30:38.022Z] from numpy.linalg import inv
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] from matplotlib import _api
[2024-06-23T21:30:38.022Z] > from matplotlib._path import (
[2024-06-23T21:30:38.022Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.022Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.022Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.022Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.022Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.022Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.022Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.022Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.022Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.022Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.022Z] code = main()
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.022Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.022Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.022Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.022Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.022Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.022Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.022Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.022Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.022Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.022Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.022Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.022Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.022Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.022Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.022Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.022Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.022Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.022Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.022Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.022Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.022Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.022Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.022Z] item.runtest()
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.022Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.022Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.022Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.022Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.022Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.022Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 271, in test_lines_simple_corner_mask
[2024-06-23T21:30:38.022Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.022Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.022Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.022Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.022Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.022Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.022Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.022Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.022Z] from matplotlib._path import (
[2024-06-23T21:30:38.022Z] Traceback (most recent call last):
[2024-06-23T21:30:38.022Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.022Z] raise ImportError(msg)
[2024-06-23T21:30:38.022Z] ImportError:
[2024-06-23T21:30:38.022Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.022Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.022Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.022Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.022Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.022Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] _________________ test_lines_simple_corner_mask_chunk[mpl2014] _________________
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] name = 'mpl2014'
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] @pytest.mark.image
[2024-06-23T21:30:38.022Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:38.022Z] def test_lines_simple_corner_mask_chunk(name: str) -> None:
[2024-06-23T21:30:38.022Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] tests/test_lines.py:295:
[2024-06-23T21:30:38.022Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.022Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.022Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.022Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.022Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.022Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.022Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.022Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.022Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.022Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.022Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.022Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.022Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.022Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] """
[2024-06-23T21:30:38.022Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.022Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.022Z] elements drawn on the canvas.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.022Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.022Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.022Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.022Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.022Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.022Z] interactive performance.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.022Z] to the graph:
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.022Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.022Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.022Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.022Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.022Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.022Z] themselves.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.022Z] of how to use transforms.
[2024-06-23T21:30:38.022Z] """
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.022Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.022Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] import copy
[2024-06-23T21:30:38.022Z] import functools
[2024-06-23T21:30:38.022Z] import textwrap
[2024-06-23T21:30:38.022Z] import weakref
[2024-06-23T21:30:38.022Z] import math
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] import numpy as np
[2024-06-23T21:30:38.022Z] from numpy.linalg import inv
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.022Z] from matplotlib import _api
[2024-06-23T21:30:38.022Z] > from matplotlib._path import (
[2024-06-23T21:30:38.022Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.022Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.022Z]
[2024-06-23T21:30:38.023Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.023Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.023Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.023Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.023Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.023Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.023Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.023Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.023Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.023Z] code = main()
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.023Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.023Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.023Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.023Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.023Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.023Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.023Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.023Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.023Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.023Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.023Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.023Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.023Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.023Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.023Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.023Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.023Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.023Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.023Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.023Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.023Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.023Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.023Z] item.runtest()
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.023Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.023Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.023Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.023Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.023Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.023Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 295, in test_lines_simple_corner_mask_chunk
[2024-06-23T21:30:38.023Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.023Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.023Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.023Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.023Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.023Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.023Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.023Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.023Z] from matplotlib._path import (
[2024-06-23T21:30:38.023Z] Traceback (most recent call last):
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.023Z] raise ImportError(msg)
[2024-06-23T21:30:38.023Z] ImportError:
[2024-06-23T21:30:38.023Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.023Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.023Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.023Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.023Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.023Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] _________________ test_lines_simple_corner_mask_chunk[serial] __________________
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] name = 'serial'
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] @pytest.mark.image
[2024-06-23T21:30:38.023Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:38.023Z] def test_lines_simple_corner_mask_chunk(name: str) -> None:
[2024-06-23T21:30:38.023Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] tests/test_lines.py:295:
[2024-06-23T21:30:38.023Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.023Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.023Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.023Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.023Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.023Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.023Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.023Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.023Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.023Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.023Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.023Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.023Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.023Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] """
[2024-06-23T21:30:38.023Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.023Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.023Z] elements drawn on the canvas.
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.023Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.023Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.023Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.023Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.023Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.023Z] interactive performance.
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.023Z] to the graph:
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.023Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.023Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.023Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.023Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.023Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.023Z] themselves.
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.023Z] of how to use transforms.
[2024-06-23T21:30:38.023Z] """
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.023Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.023Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] import copy
[2024-06-23T21:30:38.023Z] import functools
[2024-06-23T21:30:38.023Z] import textwrap
[2024-06-23T21:30:38.023Z] import weakref
[2024-06-23T21:30:38.023Z] import math
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] import numpy as np
[2024-06-23T21:30:38.023Z] from numpy.linalg import inv
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] from matplotlib import _api
[2024-06-23T21:30:38.023Z] > from matplotlib._path import (
[2024-06-23T21:30:38.023Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.023Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.023Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.023Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.023Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.023Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.023Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.023Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.023Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.023Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.023Z] code = main()
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.023Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.023Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.023Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.023Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.023Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.023Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.023Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.023Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.023Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.023Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.023Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.023Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.023Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.023Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.023Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.023Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.023Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.023Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.023Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.023Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.023Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.023Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.023Z] item.runtest()
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.023Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.023Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.023Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.023Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.023Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.023Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 295, in test_lines_simple_corner_mask_chunk
[2024-06-23T21:30:38.023Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.023Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.023Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.023Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.023Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.023Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.023Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.023Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.023Z] from matplotlib._path import (
[2024-06-23T21:30:38.023Z] Traceback (most recent call last):
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.023Z] raise ImportError(msg)
[2024-06-23T21:30:38.023Z] ImportError:
[2024-06-23T21:30:38.023Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.023Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.023Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.023Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.023Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.023Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] ________________ test_lines_simple_corner_mask_chunk[threaded] _________________
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] name = 'threaded'
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] @pytest.mark.image
[2024-06-23T21:30:38.023Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:38.023Z] def test_lines_simple_corner_mask_chunk(name: str) -> None:
[2024-06-23T21:30:38.023Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] tests/test_lines.py:295:
[2024-06-23T21:30:38.023Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.023Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.023Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.023Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.023Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.023Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.023Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.023Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.023Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.023Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.023Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.023Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.023Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.023Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] """
[2024-06-23T21:30:38.023Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.023Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.023Z] elements drawn on the canvas.
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.023Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.023Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.023Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.023Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.023Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.023Z] interactive performance.
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.023Z] to the graph:
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.023Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.023Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.023Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.023Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.023Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.023Z] themselves.
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.023Z] of how to use transforms.
[2024-06-23T21:30:38.023Z] """
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.023Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.023Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] import copy
[2024-06-23T21:30:38.023Z] import functools
[2024-06-23T21:30:38.023Z] import textwrap
[2024-06-23T21:30:38.023Z] import weakref
[2024-06-23T21:30:38.023Z] import math
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] import numpy as np
[2024-06-23T21:30:38.023Z] from numpy.linalg import inv
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] from matplotlib import _api
[2024-06-23T21:30:38.023Z] > from matplotlib._path import (
[2024-06-23T21:30:38.023Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.023Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.023Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.023Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.023Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.023Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.023Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.023Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.023Z]
[2024-06-23T21:30:38.023Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.023Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.023Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.023Z] code = main()
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.023Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.023Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.023Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.023Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.023Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.023Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.023Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.023Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.023Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.023Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.023Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.023Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.023Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.023Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.023Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.023Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.023Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.023Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.023Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.023Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.023Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.023Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.023Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.024Z] item.runtest()
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.024Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.024Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.024Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.024Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.024Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.024Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 295, in test_lines_simple_corner_mask_chunk
[2024-06-23T21:30:38.024Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.024Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.024Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.024Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.024Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.024Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.024Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.024Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.024Z] from matplotlib._path import (
[2024-06-23T21:30:38.024Z] Traceback (most recent call last):
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.024Z] raise ImportError(msg)
[2024-06-23T21:30:38.024Z] ImportError:
[2024-06-23T21:30:38.024Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.024Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.024Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.024Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.024Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.024Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] ___________ test_lines_simple_corner_mask_chunk_threads[2-Separate] ____________
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] line_type = <LineType.Separate: 101>, thread_count = 2
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] @pytest.mark.image
[2024-06-23T21:30:38.024Z] @pytest.mark.threads
[2024-06-23T21:30:38.024Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.024Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.024Z] def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.024Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] tests/test_lines.py:323:
[2024-06-23T21:30:38.024Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.024Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.024Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.024Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.024Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.024Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.024Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.024Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.024Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.024Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.024Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.024Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.024Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.024Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] """
[2024-06-23T21:30:38.024Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.024Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.024Z] elements drawn on the canvas.
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.024Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.024Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.024Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.024Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.024Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.024Z] interactive performance.
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.024Z] to the graph:
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.024Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.024Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.024Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.024Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.024Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.024Z] themselves.
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.024Z] of how to use transforms.
[2024-06-23T21:30:38.024Z] """
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.024Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.024Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] import copy
[2024-06-23T21:30:38.024Z] import functools
[2024-06-23T21:30:38.024Z] import textwrap
[2024-06-23T21:30:38.024Z] import weakref
[2024-06-23T21:30:38.024Z] import math
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] import numpy as np
[2024-06-23T21:30:38.024Z] from numpy.linalg import inv
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] from matplotlib import _api
[2024-06-23T21:30:38.024Z] > from matplotlib._path import (
[2024-06-23T21:30:38.024Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.024Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.024Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.024Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.024Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.024Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.024Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.024Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.024Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.024Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.024Z] code = main()
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.024Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.024Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.024Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.024Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.024Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.024Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.024Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.024Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.024Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.024Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.024Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.024Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.024Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.024Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.024Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.024Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.024Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.024Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.024Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.024Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.024Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.024Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.024Z] item.runtest()
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.024Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.024Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.024Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.024Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.024Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.024Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 323, in test_lines_simple_corner_mask_chunk_threads
[2024-06-23T21:30:38.024Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.024Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.024Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.024Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.024Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.024Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.024Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.024Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.024Z] from matplotlib._path import (
[2024-06-23T21:30:38.024Z] Traceback (most recent call last):
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.024Z] raise ImportError(msg)
[2024-06-23T21:30:38.024Z] ImportError:
[2024-06-23T21:30:38.024Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.024Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.024Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.024Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.024Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.024Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] _________ test_lines_simple_corner_mask_chunk_threads[2-SeparateCode] __________
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] line_type = <LineType.SeparateCode: 102>, thread_count = 2
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] @pytest.mark.image
[2024-06-23T21:30:38.024Z] @pytest.mark.threads
[2024-06-23T21:30:38.024Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.024Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.024Z] def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.024Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] tests/test_lines.py:323:
[2024-06-23T21:30:38.024Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.024Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.024Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.024Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.024Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.024Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.024Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.024Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.024Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.024Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.024Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.024Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.024Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.024Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] """
[2024-06-23T21:30:38.024Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.024Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.024Z] elements drawn on the canvas.
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.024Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.024Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.024Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.024Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.024Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.024Z] interactive performance.
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.024Z] to the graph:
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.024Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.024Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.024Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.024Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.024Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.024Z] themselves.
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.024Z] of how to use transforms.
[2024-06-23T21:30:38.024Z] """
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.024Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.024Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] import copy
[2024-06-23T21:30:38.024Z] import functools
[2024-06-23T21:30:38.024Z] import textwrap
[2024-06-23T21:30:38.024Z] import weakref
[2024-06-23T21:30:38.024Z] import math
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] import numpy as np
[2024-06-23T21:30:38.024Z] from numpy.linalg import inv
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] from matplotlib import _api
[2024-06-23T21:30:38.024Z] > from matplotlib._path import (
[2024-06-23T21:30:38.024Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.024Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.024Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.024Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.024Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.024Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.024Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.024Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.024Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.024Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.024Z] code = main()
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.024Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.024Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.024Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.024Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.024Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.024Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.024Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.024Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.024Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.024Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.024Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.024Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.024Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.024Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.024Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.024Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.024Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.024Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.024Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.024Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.024Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.024Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.024Z] item.runtest()
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.024Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.024Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.024Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.024Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.024Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.024Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 323, in test_lines_simple_corner_mask_chunk_threads
[2024-06-23T21:30:38.024Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.024Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.024Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.024Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.024Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.024Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.024Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.024Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.024Z] from matplotlib._path import (
[2024-06-23T21:30:38.024Z] Traceback (most recent call last):
[2024-06-23T21:30:38.024Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.024Z] raise ImportError(msg)
[2024-06-23T21:30:38.024Z] ImportError:
[2024-06-23T21:30:38.024Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.024Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.024Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.024Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.024Z]
[2024-06-23T21:30:38.024Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.024Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.024Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] _______ test_lines_simple_corner_mask_chunk_threads[2-ChunkCombinedCode] _______
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] line_type = <LineType.ChunkCombinedCode: 103>, thread_count = 2
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] @pytest.mark.image
[2024-06-23T21:30:38.025Z] @pytest.mark.threads
[2024-06-23T21:30:38.025Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.025Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.025Z] def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.025Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] tests/test_lines.py:323:
[2024-06-23T21:30:38.025Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.025Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.025Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.025Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.025Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.025Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.025Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.025Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.025Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.025Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.025Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.025Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.025Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.025Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] """
[2024-06-23T21:30:38.025Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.025Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.025Z] elements drawn on the canvas.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.025Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.025Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.025Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.025Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.025Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.025Z] interactive performance.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.025Z] to the graph:
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.025Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.025Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.025Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.025Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.025Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.025Z] themselves.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.025Z] of how to use transforms.
[2024-06-23T21:30:38.025Z] """
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.025Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.025Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] import copy
[2024-06-23T21:30:38.025Z] import functools
[2024-06-23T21:30:38.025Z] import textwrap
[2024-06-23T21:30:38.025Z] import weakref
[2024-06-23T21:30:38.025Z] import math
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] import numpy as np
[2024-06-23T21:30:38.025Z] from numpy.linalg import inv
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] from matplotlib import _api
[2024-06-23T21:30:38.025Z] > from matplotlib._path import (
[2024-06-23T21:30:38.025Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.025Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.025Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.025Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.025Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.025Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.025Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.025Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.025Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.025Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.025Z] code = main()
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.025Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.025Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.025Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.025Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.025Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.025Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.025Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.025Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.025Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.025Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.025Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.025Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.025Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.025Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.025Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.025Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.025Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.025Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.025Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.025Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.025Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.025Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.025Z] item.runtest()
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.025Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.025Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.025Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.025Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.025Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.025Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 323, in test_lines_simple_corner_mask_chunk_threads
[2024-06-23T21:30:38.025Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.025Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.025Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.025Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.025Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.025Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.025Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.025Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.025Z] from matplotlib._path import (
[2024-06-23T21:30:38.025Z] Traceback (most recent call last):
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.025Z] raise ImportError(msg)
[2024-06-23T21:30:38.025Z] ImportError:
[2024-06-23T21:30:38.025Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.025Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.025Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.025Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.025Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.025Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] ______ test_lines_simple_corner_mask_chunk_threads[2-ChunkCombinedOffset] ______
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] line_type = <LineType.ChunkCombinedOffset: 104>, thread_count = 2
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] @pytest.mark.image
[2024-06-23T21:30:38.025Z] @pytest.mark.threads
[2024-06-23T21:30:38.025Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.025Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.025Z] def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.025Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] tests/test_lines.py:323:
[2024-06-23T21:30:38.025Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.025Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.025Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.025Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.025Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.025Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.025Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.025Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.025Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.025Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.025Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.025Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.025Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.025Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] """
[2024-06-23T21:30:38.025Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.025Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.025Z] elements drawn on the canvas.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.025Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.025Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.025Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.025Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.025Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.025Z] interactive performance.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.025Z] to the graph:
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.025Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.025Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.025Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.025Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.025Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.025Z] themselves.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.025Z] of how to use transforms.
[2024-06-23T21:30:38.025Z] """
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.025Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.025Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] import copy
[2024-06-23T21:30:38.025Z] import functools
[2024-06-23T21:30:38.025Z] import textwrap
[2024-06-23T21:30:38.025Z] import weakref
[2024-06-23T21:30:38.025Z] import math
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] import numpy as np
[2024-06-23T21:30:38.025Z] from numpy.linalg import inv
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] from matplotlib import _api
[2024-06-23T21:30:38.025Z] > from matplotlib._path import (
[2024-06-23T21:30:38.025Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.025Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.025Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.025Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.025Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.025Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.025Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.025Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.025Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.025Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.025Z] code = main()
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.025Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.025Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.025Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.025Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.025Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.025Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.025Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.025Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.025Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.025Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.025Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.025Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.025Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.025Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.025Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.025Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.025Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.025Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.025Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.025Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.025Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.025Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.025Z] item.runtest()
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.025Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.025Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.025Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.025Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.025Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.025Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 323, in test_lines_simple_corner_mask_chunk_threads
[2024-06-23T21:30:38.025Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.025Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.025Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.025Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.025Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.025Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.025Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.025Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.025Z] from matplotlib._path import (
[2024-06-23T21:30:38.025Z] Traceback (most recent call last):
[2024-06-23T21:30:38.025Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.025Z] raise ImportError(msg)
[2024-06-23T21:30:38.025Z] ImportError:
[2024-06-23T21:30:38.025Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.025Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.025Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.025Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.025Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.025Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] _______ test_lines_simple_corner_mask_chunk_threads[2-ChunkCombinedNan] ________
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] line_type = <LineType.ChunkCombinedNan: 105>, thread_count = 2
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] @pytest.mark.image
[2024-06-23T21:30:38.025Z] @pytest.mark.threads
[2024-06-23T21:30:38.025Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.025Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.025Z] def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.025Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] tests/test_lines.py:323:
[2024-06-23T21:30:38.025Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.025Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.025Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.025Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.025Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.025Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.025Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.025Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.025Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.025Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.025Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.025Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.025Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.025Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] """
[2024-06-23T21:30:38.025Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.025Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.025Z] elements drawn on the canvas.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.025Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.025Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.025Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.025Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.025Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.025Z] interactive performance.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.025Z] to the graph:
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.025Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.025Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.025Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.025Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.025Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.025Z] themselves.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.025Z] of how to use transforms.
[2024-06-23T21:30:38.025Z] """
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.025Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.025Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.025Z]
[2024-06-23T21:30:38.025Z] import copy
[2024-06-23T21:30:38.025Z] import functools
[2024-06-23T21:30:38.025Z] import textwrap
[2024-06-23T21:30:38.026Z] import weakref
[2024-06-23T21:30:38.026Z] import math
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] import numpy as np
[2024-06-23T21:30:38.026Z] from numpy.linalg import inv
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] from matplotlib import _api
[2024-06-23T21:30:38.026Z] > from matplotlib._path import (
[2024-06-23T21:30:38.026Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.026Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.026Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.026Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.026Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.026Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.026Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.026Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.026Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.026Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.026Z] code = main()
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.026Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.026Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.026Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.026Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.026Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.026Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.026Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.026Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.026Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.026Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.026Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.026Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.026Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.026Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.026Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.026Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.026Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.026Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.026Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.026Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.026Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.026Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.026Z] item.runtest()
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.026Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.026Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.026Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.026Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.026Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.026Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 323, in test_lines_simple_corner_mask_chunk_threads
[2024-06-23T21:30:38.026Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.026Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.026Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.026Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.026Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.026Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.026Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.026Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.026Z] from matplotlib._path import (
[2024-06-23T21:30:38.026Z] Traceback (most recent call last):
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.026Z] raise ImportError(msg)
[2024-06-23T21:30:38.026Z] ImportError:
[2024-06-23T21:30:38.026Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.026Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.026Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.026Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.026Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.026Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] ___________ test_lines_simple_corner_mask_chunk_threads[3-Separate] ____________
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] line_type = <LineType.Separate: 101>, thread_count = 3
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] @pytest.mark.image
[2024-06-23T21:30:38.026Z] @pytest.mark.threads
[2024-06-23T21:30:38.026Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.026Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.026Z] def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.026Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] tests/test_lines.py:323:
[2024-06-23T21:30:38.026Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.026Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.026Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.026Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.026Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.026Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.026Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.026Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.026Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.026Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.026Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.026Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.026Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.026Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] """
[2024-06-23T21:30:38.026Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.026Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.026Z] elements drawn on the canvas.
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.026Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.026Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.026Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.026Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.026Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.026Z] interactive performance.
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.026Z] to the graph:
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.026Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.026Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.026Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.026Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.026Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.026Z] themselves.
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.026Z] of how to use transforms.
[2024-06-23T21:30:38.026Z] """
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.026Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.026Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] import copy
[2024-06-23T21:30:38.026Z] import functools
[2024-06-23T21:30:38.026Z] import textwrap
[2024-06-23T21:30:38.026Z] import weakref
[2024-06-23T21:30:38.026Z] import math
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] import numpy as np
[2024-06-23T21:30:38.026Z] from numpy.linalg import inv
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] from matplotlib import _api
[2024-06-23T21:30:38.026Z] > from matplotlib._path import (
[2024-06-23T21:30:38.026Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.026Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.026Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.026Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.026Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.026Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.026Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.026Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.026Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.026Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.026Z] code = main()
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.026Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.026Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.026Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.026Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.026Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.026Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.026Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.026Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.026Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.026Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.026Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.026Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.026Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.026Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.026Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.026Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.026Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.026Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.026Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.026Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.026Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.026Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.026Z] item.runtest()
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.026Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.026Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.026Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.026Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.026Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.026Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 323, in test_lines_simple_corner_mask_chunk_threads
[2024-06-23T21:30:38.026Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.026Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.026Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.026Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.026Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.026Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.026Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.026Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.026Z] from matplotlib._path import (
[2024-06-23T21:30:38.026Z] Traceback (most recent call last):
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.026Z] raise ImportError(msg)
[2024-06-23T21:30:38.026Z] ImportError:
[2024-06-23T21:30:38.026Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.026Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.026Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.026Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.026Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.026Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] _________ test_lines_simple_corner_mask_chunk_threads[3-SeparateCode] __________
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] line_type = <LineType.SeparateCode: 102>, thread_count = 3
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] @pytest.mark.image
[2024-06-23T21:30:38.026Z] @pytest.mark.threads
[2024-06-23T21:30:38.026Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.026Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.026Z] def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.026Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] tests/test_lines.py:323:
[2024-06-23T21:30:38.026Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.026Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.026Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.026Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.026Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.026Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.026Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.026Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.026Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.026Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.026Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.026Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.026Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.026Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] """
[2024-06-23T21:30:38.026Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.026Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.026Z] elements drawn on the canvas.
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.026Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.026Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.026Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.026Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.026Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.026Z] interactive performance.
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.026Z] to the graph:
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.026Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.026Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.026Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.026Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.026Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.026Z] themselves.
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.026Z] of how to use transforms.
[2024-06-23T21:30:38.026Z] """
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.026Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.026Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] import copy
[2024-06-23T21:30:38.026Z] import functools
[2024-06-23T21:30:38.026Z] import textwrap
[2024-06-23T21:30:38.026Z] import weakref
[2024-06-23T21:30:38.026Z] import math
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] import numpy as np
[2024-06-23T21:30:38.026Z] from numpy.linalg import inv
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] from matplotlib import _api
[2024-06-23T21:30:38.026Z] > from matplotlib._path import (
[2024-06-23T21:30:38.026Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.026Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.026Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.026Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.026Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.026Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.026Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.026Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.026Z]
[2024-06-23T21:30:38.026Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.026Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.026Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.026Z] code = main()
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.026Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.026Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.026Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.026Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.026Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.026Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.026Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.027Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.027Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.027Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.027Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.027Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.027Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.027Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.027Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.027Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.027Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.027Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.027Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.027Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.027Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.027Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.027Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.027Z] item.runtest()
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.027Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.027Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.027Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.027Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.027Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.027Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 323, in test_lines_simple_corner_mask_chunk_threads
[2024-06-23T21:30:38.027Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.027Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.027Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.027Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.027Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.027Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.027Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.027Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.027Z] from matplotlib._path import (
[2024-06-23T21:30:38.027Z] Traceback (most recent call last):
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.027Z] raise ImportError(msg)
[2024-06-23T21:30:38.027Z] ImportError:
[2024-06-23T21:30:38.027Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.027Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.027Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.027Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.027Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.027Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] _______ test_lines_simple_corner_mask_chunk_threads[3-ChunkCombinedCode] _______
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] line_type = <LineType.ChunkCombinedCode: 103>, thread_count = 3
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] @pytest.mark.image
[2024-06-23T21:30:38.027Z] @pytest.mark.threads
[2024-06-23T21:30:38.027Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.027Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.027Z] def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.027Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] tests/test_lines.py:323:
[2024-06-23T21:30:38.027Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.027Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.027Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.027Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.027Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.027Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.027Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.027Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.027Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.027Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.027Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.027Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.027Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.027Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] """
[2024-06-23T21:30:38.027Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.027Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.027Z] elements drawn on the canvas.
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.027Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.027Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.027Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.027Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.027Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.027Z] interactive performance.
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.027Z] to the graph:
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.027Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.027Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.027Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.027Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.027Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.027Z] themselves.
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.027Z] of how to use transforms.
[2024-06-23T21:30:38.027Z] """
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.027Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.027Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] import copy
[2024-06-23T21:30:38.027Z] import functools
[2024-06-23T21:30:38.027Z] import textwrap
[2024-06-23T21:30:38.027Z] import weakref
[2024-06-23T21:30:38.027Z] import math
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] import numpy as np
[2024-06-23T21:30:38.027Z] from numpy.linalg import inv
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] from matplotlib import _api
[2024-06-23T21:30:38.027Z] > from matplotlib._path import (
[2024-06-23T21:30:38.027Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.027Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.027Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.027Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.027Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.027Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.027Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.027Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.027Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.027Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.027Z] code = main()
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.027Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.027Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.027Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.027Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.027Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.027Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.027Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.027Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.027Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.027Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.027Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.027Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.027Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.027Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.027Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.027Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.027Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.027Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.027Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.027Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.027Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.027Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.027Z] item.runtest()
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.027Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.027Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.027Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.027Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.027Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.027Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 323, in test_lines_simple_corner_mask_chunk_threads
[2024-06-23T21:30:38.027Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.027Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.027Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.027Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.027Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.027Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.027Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.027Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.027Z] from matplotlib._path import (
[2024-06-23T21:30:38.027Z] Traceback (most recent call last):
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.027Z] raise ImportError(msg)
[2024-06-23T21:30:38.027Z] ImportError:
[2024-06-23T21:30:38.027Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.027Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.027Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.027Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.027Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.027Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] ______ test_lines_simple_corner_mask_chunk_threads[3-ChunkCombinedOffset] ______
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] line_type = <LineType.ChunkCombinedOffset: 104>, thread_count = 3
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] @pytest.mark.image
[2024-06-23T21:30:38.027Z] @pytest.mark.threads
[2024-06-23T21:30:38.027Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.027Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.027Z] def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.027Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] tests/test_lines.py:323:
[2024-06-23T21:30:38.027Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.027Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.027Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.027Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.027Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.027Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.027Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.027Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.027Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.027Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.027Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.027Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.027Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.027Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] """
[2024-06-23T21:30:38.027Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.027Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.027Z] elements drawn on the canvas.
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.027Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.027Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.027Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.027Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.027Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.027Z] interactive performance.
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.027Z] to the graph:
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.027Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.027Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.027Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.027Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.027Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.027Z] themselves.
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.027Z] of how to use transforms.
[2024-06-23T21:30:38.027Z] """
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.027Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.027Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] import copy
[2024-06-23T21:30:38.027Z] import functools
[2024-06-23T21:30:38.027Z] import textwrap
[2024-06-23T21:30:38.027Z] import weakref
[2024-06-23T21:30:38.027Z] import math
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] import numpy as np
[2024-06-23T21:30:38.027Z] from numpy.linalg import inv
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] from matplotlib import _api
[2024-06-23T21:30:38.027Z] > from matplotlib._path import (
[2024-06-23T21:30:38.027Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.027Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.027Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.027Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.027Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.027Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.027Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.027Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.027Z]
[2024-06-23T21:30:38.027Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.027Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.027Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.027Z] code = main()
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.027Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.027Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.027Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.027Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.027Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.027Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.027Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.027Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.027Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.027Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.027Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.027Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.027Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.027Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.027Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.027Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.027Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.027Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.027Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.027Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.027Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.027Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.027Z] item.runtest()
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.027Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.027Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.027Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.027Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.027Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.027Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 323, in test_lines_simple_corner_mask_chunk_threads
[2024-06-23T21:30:38.027Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.027Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.027Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.027Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.027Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.027Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.027Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.028Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.028Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.028Z] from matplotlib._path import (
[2024-06-23T21:30:38.028Z] Traceback (most recent call last):
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.028Z] raise ImportError(msg)
[2024-06-23T21:30:38.028Z] ImportError:
[2024-06-23T21:30:38.028Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.028Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.028Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.028Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.028Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.028Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] _______ test_lines_simple_corner_mask_chunk_threads[3-ChunkCombinedNan] ________
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] line_type = <LineType.ChunkCombinedNan: 105>, thread_count = 3
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] @pytest.mark.image
[2024-06-23T21:30:38.028Z] @pytest.mark.threads
[2024-06-23T21:30:38.028Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.028Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.028Z] def test_lines_simple_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.028Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] tests/test_lines.py:323:
[2024-06-23T21:30:38.028Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.028Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.028Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.028Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.028Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.028Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.028Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.028Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.028Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.028Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.028Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.028Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.028Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.028Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] """
[2024-06-23T21:30:38.028Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.028Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.028Z] elements drawn on the canvas.
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.028Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.028Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.028Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.028Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.028Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.028Z] interactive performance.
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.028Z] to the graph:
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.028Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.028Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.028Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.028Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.028Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.028Z] themselves.
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.028Z] of how to use transforms.
[2024-06-23T21:30:38.028Z] """
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.028Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.028Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] import copy
[2024-06-23T21:30:38.028Z] import functools
[2024-06-23T21:30:38.028Z] import textwrap
[2024-06-23T21:30:38.028Z] import weakref
[2024-06-23T21:30:38.028Z] import math
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] import numpy as np
[2024-06-23T21:30:38.028Z] from numpy.linalg import inv
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] from matplotlib import _api
[2024-06-23T21:30:38.028Z] > from matplotlib._path import (
[2024-06-23T21:30:38.028Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.028Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.028Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.028Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.028Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.028Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.028Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.028Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.028Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.028Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.028Z] code = main()
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.028Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.028Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.028Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.028Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.028Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.028Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.028Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.028Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.028Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.028Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.028Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.028Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.028Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.028Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.028Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.028Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.028Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.028Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.028Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.028Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.028Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.028Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.028Z] item.runtest()
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.028Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.028Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.028Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.028Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.028Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.028Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 323, in test_lines_simple_corner_mask_chunk_threads
[2024-06-23T21:30:38.028Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.028Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.028Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.028Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.028Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.028Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.028Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.028Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.028Z] from matplotlib._path import (
[2024-06-23T21:30:38.028Z] Traceback (most recent call last):
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.028Z] raise ImportError(msg)
[2024-06-23T21:30:38.028Z] ImportError:
[2024-06-23T21:30:38.028Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.028Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.028Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.028Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.028Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.028Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] ____________________ test_lines_simple_quad_as_tri[serial] _____________________
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] name = 'serial'
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] @pytest.mark.image
[2024-06-23T21:30:38.028Z] @pytest.mark.parametrize("name", util_test.quad_as_tri_names())
[2024-06-23T21:30:38.028Z] def test_lines_simple_quad_as_tri(name: str) -> None:
[2024-06-23T21:30:38.028Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] tests/test_lines.py:351:
[2024-06-23T21:30:38.028Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.028Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.028Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.028Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.028Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.028Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.028Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.028Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.028Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.028Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.028Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.028Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.028Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.028Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] """
[2024-06-23T21:30:38.028Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.028Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.028Z] elements drawn on the canvas.
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.028Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.028Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.028Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.028Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.028Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.028Z] interactive performance.
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.028Z] to the graph:
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.028Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.028Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.028Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.028Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.028Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.028Z] themselves.
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.028Z] of how to use transforms.
[2024-06-23T21:30:38.028Z] """
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.028Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.028Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] import copy
[2024-06-23T21:30:38.028Z] import functools
[2024-06-23T21:30:38.028Z] import textwrap
[2024-06-23T21:30:38.028Z] import weakref
[2024-06-23T21:30:38.028Z] import math
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] import numpy as np
[2024-06-23T21:30:38.028Z] from numpy.linalg import inv
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] from matplotlib import _api
[2024-06-23T21:30:38.028Z] > from matplotlib._path import (
[2024-06-23T21:30:38.028Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.028Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.028Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.028Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.028Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.028Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.028Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.028Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.028Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.028Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.028Z] code = main()
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.028Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.028Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.028Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.028Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.028Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.028Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.028Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.028Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.028Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.028Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.028Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.028Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.028Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.028Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.028Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.028Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.028Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.028Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.028Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.028Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.028Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.028Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.028Z] item.runtest()
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.028Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.028Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.028Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.028Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.028Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.028Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 351, in test_lines_simple_quad_as_tri
[2024-06-23T21:30:38.028Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.028Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.028Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.028Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.028Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.028Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.028Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.028Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.028Z] from matplotlib._path import (
[2024-06-23T21:30:38.028Z] Traceback (most recent call last):
[2024-06-23T21:30:38.028Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.028Z] raise ImportError(msg)
[2024-06-23T21:30:38.028Z] ImportError:
[2024-06-23T21:30:38.028Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.028Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.028Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.028Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.028Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.028Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] ___________________ test_lines_simple_quad_as_tri[threaded] ____________________
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] name = 'threaded'
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] @pytest.mark.image
[2024-06-23T21:30:38.028Z] @pytest.mark.parametrize("name", util_test.quad_as_tri_names())
[2024-06-23T21:30:38.028Z] def test_lines_simple_quad_as_tri(name: str) -> None:
[2024-06-23T21:30:38.028Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] tests/test_lines.py:351:
[2024-06-23T21:30:38.028Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.028Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.028Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.028Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.028Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.028Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.028Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.028Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.028Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.028Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.028Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.028Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.028Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.028Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] """
[2024-06-23T21:30:38.028Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.028Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.028Z] elements drawn on the canvas.
[2024-06-23T21:30:38.028Z]
[2024-06-23T21:30:38.028Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.029Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.029Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.029Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.029Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.029Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.029Z] interactive performance.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.029Z] to the graph:
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.029Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.029Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.029Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.029Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.029Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.029Z] themselves.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.029Z] of how to use transforms.
[2024-06-23T21:30:38.029Z] """
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.029Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.029Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] import copy
[2024-06-23T21:30:38.029Z] import functools
[2024-06-23T21:30:38.029Z] import textwrap
[2024-06-23T21:30:38.029Z] import weakref
[2024-06-23T21:30:38.029Z] import math
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] import numpy as np
[2024-06-23T21:30:38.029Z] from numpy.linalg import inv
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] from matplotlib import _api
[2024-06-23T21:30:38.029Z] > from matplotlib._path import (
[2024-06-23T21:30:38.029Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.029Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.029Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.029Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.029Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.029Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.029Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.029Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.029Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.029Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.029Z] code = main()
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.029Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.029Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.029Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.029Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.029Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.029Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.029Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.029Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.029Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.029Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.029Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.029Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.029Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.029Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.029Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.029Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.029Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.029Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.029Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.029Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.029Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.029Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.029Z] item.runtest()
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.029Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.029Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.029Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.029Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.029Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.029Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 351, in test_lines_simple_quad_as_tri
[2024-06-23T21:30:38.029Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.029Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.029Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.029Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.029Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.029Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.029Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.029Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.029Z] from matplotlib._path import (
[2024-06-23T21:30:38.029Z] Traceback (most recent call last):
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.029Z] raise ImportError(msg)
[2024-06-23T21:30:38.029Z] ImportError:
[2024-06-23T21:30:38.029Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.029Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.029Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.029Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.029Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.029Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] ___________________ test_lines_random[mpl2005-SeparateCode] ____________________
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] name = 'mpl2005', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] @pytest.mark.image
[2024-06-23T21:30:38.029Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.029Z] def test_lines_random(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.029Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] tests/test_lines.py:375:
[2024-06-23T21:30:38.029Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.029Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.029Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.029Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.029Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.029Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.029Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.029Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.029Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.029Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.029Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.029Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.029Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.029Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] """
[2024-06-23T21:30:38.029Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.029Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.029Z] elements drawn on the canvas.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.029Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.029Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.029Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.029Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.029Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.029Z] interactive performance.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.029Z] to the graph:
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.029Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.029Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.029Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.029Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.029Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.029Z] themselves.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.029Z] of how to use transforms.
[2024-06-23T21:30:38.029Z] """
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.029Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.029Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] import copy
[2024-06-23T21:30:38.029Z] import functools
[2024-06-23T21:30:38.029Z] import textwrap
[2024-06-23T21:30:38.029Z] import weakref
[2024-06-23T21:30:38.029Z] import math
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] import numpy as np
[2024-06-23T21:30:38.029Z] from numpy.linalg import inv
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] from matplotlib import _api
[2024-06-23T21:30:38.029Z] > from matplotlib._path import (
[2024-06-23T21:30:38.029Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.029Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.029Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.029Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.029Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.029Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.029Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.029Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.029Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.029Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.029Z] code = main()
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.029Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.029Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.029Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.029Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.029Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.029Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.029Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.029Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.029Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.029Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.029Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.029Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.029Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.029Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.029Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.029Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.029Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.029Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.029Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.029Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.029Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.029Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.029Z] item.runtest()
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.029Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.029Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.029Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.029Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.029Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.029Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 375, in test_lines_random
[2024-06-23T21:30:38.029Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.029Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.029Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.029Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.029Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.029Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.029Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.029Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.029Z] from matplotlib._path import (
[2024-06-23T21:30:38.029Z] Traceback (most recent call last):
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.029Z] raise ImportError(msg)
[2024-06-23T21:30:38.029Z] ImportError:
[2024-06-23T21:30:38.029Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.029Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.029Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.029Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.029Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.029Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] ___________________ test_lines_random[mpl2014-SeparateCode] ____________________
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] name = 'mpl2014', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] @pytest.mark.image
[2024-06-23T21:30:38.029Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.029Z] def test_lines_random(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.029Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] tests/test_lines.py:375:
[2024-06-23T21:30:38.029Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.029Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.029Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.029Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.029Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.029Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.029Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.029Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.029Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.029Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.029Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.029Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.029Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.029Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] """
[2024-06-23T21:30:38.029Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.029Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.029Z] elements drawn on the canvas.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.029Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.029Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.029Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.029Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.029Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.029Z] interactive performance.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.029Z] to the graph:
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.029Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.029Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.029Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.029Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.029Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.029Z] themselves.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.029Z] of how to use transforms.
[2024-06-23T21:30:38.029Z] """
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.029Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.029Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] import copy
[2024-06-23T21:30:38.029Z] import functools
[2024-06-23T21:30:38.029Z] import textwrap
[2024-06-23T21:30:38.029Z] import weakref
[2024-06-23T21:30:38.029Z] import math
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] import numpy as np
[2024-06-23T21:30:38.029Z] from numpy.linalg import inv
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] from matplotlib import _api
[2024-06-23T21:30:38.029Z] > from matplotlib._path import (
[2024-06-23T21:30:38.029Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.029Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.029Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.029Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.029Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.029Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.029Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.029Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.029Z]
[2024-06-23T21:30:38.029Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.029Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.029Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.029Z] code = main()
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.029Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.029Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.029Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.029Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.029Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.029Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.029Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.030Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.030Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.030Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.030Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.030Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.030Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.030Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.030Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.030Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.030Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.030Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.030Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.030Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.030Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.030Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.030Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.030Z] item.runtest()
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.030Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.030Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.030Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.030Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.030Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.030Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 375, in test_lines_random
[2024-06-23T21:30:38.030Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.030Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.030Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.030Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.030Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.030Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.030Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.030Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.030Z] from matplotlib._path import (
[2024-06-23T21:30:38.030Z] Traceback (most recent call last):
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.030Z] raise ImportError(msg)
[2024-06-23T21:30:38.030Z] ImportError:
[2024-06-23T21:30:38.030Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.030Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.030Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.030Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.030Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.030Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] ______________________ test_lines_random[serial-Separate] ______________________
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] name = 'serial', line_type = <LineType.Separate: 101>
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] @pytest.mark.image
[2024-06-23T21:30:38.030Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.030Z] def test_lines_random(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.030Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] tests/test_lines.py:375:
[2024-06-23T21:30:38.030Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.030Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.030Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.030Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.030Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.030Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.030Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.030Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.030Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.030Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.030Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.030Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.030Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.030Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] """
[2024-06-23T21:30:38.030Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.030Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.030Z] elements drawn on the canvas.
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.030Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.030Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.030Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.030Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.030Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.030Z] interactive performance.
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.030Z] to the graph:
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.030Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.030Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.030Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.030Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.030Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.030Z] themselves.
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.030Z] of how to use transforms.
[2024-06-23T21:30:38.030Z] """
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.030Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.030Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] import copy
[2024-06-23T21:30:38.030Z] import functools
[2024-06-23T21:30:38.030Z] import textwrap
[2024-06-23T21:30:38.030Z] import weakref
[2024-06-23T21:30:38.030Z] import math
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] import numpy as np
[2024-06-23T21:30:38.030Z] from numpy.linalg import inv
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] from matplotlib import _api
[2024-06-23T21:30:38.030Z] > from matplotlib._path import (
[2024-06-23T21:30:38.030Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.030Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.030Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.030Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.030Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.030Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.030Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.030Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.030Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.030Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.030Z] code = main()
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.030Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.030Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.030Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.030Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.030Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.030Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.030Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.030Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.030Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.030Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.030Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.030Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.030Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.030Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.030Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.030Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.030Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.030Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.030Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.030Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.030Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.030Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.030Z] item.runtest()
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.030Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.030Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.030Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.030Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.030Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.030Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 375, in test_lines_random
[2024-06-23T21:30:38.030Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.030Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.030Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.030Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.030Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.030Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.030Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.030Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.030Z] from matplotlib._path import (
[2024-06-23T21:30:38.030Z] Traceback (most recent call last):
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.030Z] raise ImportError(msg)
[2024-06-23T21:30:38.030Z] ImportError:
[2024-06-23T21:30:38.030Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.030Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.030Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.030Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.030Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.030Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] ____________________ test_lines_random[serial-SeparateCode] ____________________
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] name = 'serial', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] @pytest.mark.image
[2024-06-23T21:30:38.030Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.030Z] def test_lines_random(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.030Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] tests/test_lines.py:375:
[2024-06-23T21:30:38.030Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.030Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.030Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.030Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.030Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.030Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.030Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.030Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.030Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.030Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.030Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.030Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.030Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.030Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] """
[2024-06-23T21:30:38.030Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.030Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.030Z] elements drawn on the canvas.
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.030Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.030Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.030Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.030Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.030Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.030Z] interactive performance.
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.030Z] to the graph:
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.030Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.030Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.030Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.030Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.030Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.030Z] themselves.
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.030Z] of how to use transforms.
[2024-06-23T21:30:38.030Z] """
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.030Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.030Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] import copy
[2024-06-23T21:30:38.030Z] import functools
[2024-06-23T21:30:38.030Z] import textwrap
[2024-06-23T21:30:38.030Z] import weakref
[2024-06-23T21:30:38.030Z] import math
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] import numpy as np
[2024-06-23T21:30:38.030Z] from numpy.linalg import inv
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] from matplotlib import _api
[2024-06-23T21:30:38.030Z] > from matplotlib._path import (
[2024-06-23T21:30:38.030Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.030Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.030Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.030Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.030Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.030Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.030Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.030Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.030Z]
[2024-06-23T21:30:38.030Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.030Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.030Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.030Z] code = main()
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.030Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.030Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.030Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.030Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.030Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.030Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.030Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.030Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.030Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.030Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.030Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.030Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.030Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.030Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.030Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.030Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.030Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.030Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.030Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.030Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.030Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.030Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.030Z] item.runtest()
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.030Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.030Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.030Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.030Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.030Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.030Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.030Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 375, in test_lines_random
[2024-06-23T21:30:38.030Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.031Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.031Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.031Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.031Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.031Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.031Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.031Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.031Z] from matplotlib._path import (
[2024-06-23T21:30:38.031Z] Traceback (most recent call last):
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.031Z] raise ImportError(msg)
[2024-06-23T21:30:38.031Z] ImportError:
[2024-06-23T21:30:38.031Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.031Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.031Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.031Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.031Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.031Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] _________________ test_lines_random[serial-ChunkCombinedCode] __________________
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] name = 'serial', line_type = <LineType.ChunkCombinedCode: 103>
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] @pytest.mark.image
[2024-06-23T21:30:38.031Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.031Z] def test_lines_random(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.031Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] tests/test_lines.py:375:
[2024-06-23T21:30:38.031Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.031Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.031Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.031Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.031Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.031Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.031Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.031Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.031Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.031Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.031Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.031Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.031Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.031Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] """
[2024-06-23T21:30:38.031Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.031Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.031Z] elements drawn on the canvas.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.031Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.031Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.031Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.031Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.031Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.031Z] interactive performance.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.031Z] to the graph:
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.031Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.031Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.031Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.031Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.031Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.031Z] themselves.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.031Z] of how to use transforms.
[2024-06-23T21:30:38.031Z] """
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.031Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.031Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] import copy
[2024-06-23T21:30:38.031Z] import functools
[2024-06-23T21:30:38.031Z] import textwrap
[2024-06-23T21:30:38.031Z] import weakref
[2024-06-23T21:30:38.031Z] import math
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] import numpy as np
[2024-06-23T21:30:38.031Z] from numpy.linalg import inv
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] from matplotlib import _api
[2024-06-23T21:30:38.031Z] > from matplotlib._path import (
[2024-06-23T21:30:38.031Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.031Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.031Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.031Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.031Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.031Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.031Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.031Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.031Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.031Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.031Z] code = main()
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.031Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.031Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.031Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.031Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.031Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.031Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.031Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.031Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.031Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.031Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.031Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.031Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.031Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.031Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.031Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.031Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.031Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.031Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.031Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.031Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.031Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.031Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.031Z] item.runtest()
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.031Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.031Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.031Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.031Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.031Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.031Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 375, in test_lines_random
[2024-06-23T21:30:38.031Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.031Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.031Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.031Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.031Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.031Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.031Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.031Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.031Z] from matplotlib._path import (
[2024-06-23T21:30:38.031Z] Traceback (most recent call last):
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.031Z] raise ImportError(msg)
[2024-06-23T21:30:38.031Z] ImportError:
[2024-06-23T21:30:38.031Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.031Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.031Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.031Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.031Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.031Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] ________________ test_lines_random[serial-ChunkCombinedOffset] _________________
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] name = 'serial', line_type = <LineType.ChunkCombinedOffset: 104>
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] @pytest.mark.image
[2024-06-23T21:30:38.031Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.031Z] def test_lines_random(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.031Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] tests/test_lines.py:375:
[2024-06-23T21:30:38.031Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.031Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.031Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.031Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.031Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.031Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.031Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.031Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.031Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.031Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.031Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.031Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.031Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.031Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] """
[2024-06-23T21:30:38.031Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.031Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.031Z] elements drawn on the canvas.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.031Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.031Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.031Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.031Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.031Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.031Z] interactive performance.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.031Z] to the graph:
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.031Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.031Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.031Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.031Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.031Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.031Z] themselves.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.031Z] of how to use transforms.
[2024-06-23T21:30:38.031Z] """
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.031Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.031Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] import copy
[2024-06-23T21:30:38.031Z] import functools
[2024-06-23T21:30:38.031Z] import textwrap
[2024-06-23T21:30:38.031Z] import weakref
[2024-06-23T21:30:38.031Z] import math
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] import numpy as np
[2024-06-23T21:30:38.031Z] from numpy.linalg import inv
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] from matplotlib import _api
[2024-06-23T21:30:38.031Z] > from matplotlib._path import (
[2024-06-23T21:30:38.031Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.031Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.031Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.031Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.031Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.031Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.031Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.031Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.031Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.031Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.031Z] code = main()
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.031Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.031Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.031Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.031Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.031Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.031Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.031Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.031Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.031Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.031Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.031Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.031Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.031Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.031Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.031Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.031Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.031Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.031Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.031Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.031Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.031Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.031Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.031Z] item.runtest()
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.031Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.031Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.031Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.031Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.031Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.031Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 375, in test_lines_random
[2024-06-23T21:30:38.031Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.031Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.031Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.031Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.031Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.031Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.031Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.031Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.031Z] from matplotlib._path import (
[2024-06-23T21:30:38.031Z] Traceback (most recent call last):
[2024-06-23T21:30:38.031Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.031Z] raise ImportError(msg)
[2024-06-23T21:30:38.031Z] ImportError:
[2024-06-23T21:30:38.031Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.031Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.031Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.031Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.031Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.031Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] __________________ test_lines_random[serial-ChunkCombinedNan] __________________
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] name = 'serial', line_type = <LineType.ChunkCombinedNan: 105>
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] @pytest.mark.image
[2024-06-23T21:30:38.031Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.031Z] def test_lines_random(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.031Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] tests/test_lines.py:375:
[2024-06-23T21:30:38.031Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.031Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.031Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.031Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.031Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.031Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.031Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.031Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.031Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.031Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.031Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.031Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.031Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.031Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] """
[2024-06-23T21:30:38.031Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.031Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.031Z] elements drawn on the canvas.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.031Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.031Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.031Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.031Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.031Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.031Z] interactive performance.
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.031Z] to the graph:
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.031Z]
[2024-06-23T21:30:38.031Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.031Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.032Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.032Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.032Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.032Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.032Z] themselves.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.032Z] of how to use transforms.
[2024-06-23T21:30:38.032Z] """
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.032Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.032Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] import copy
[2024-06-23T21:30:38.032Z] import functools
[2024-06-23T21:30:38.032Z] import textwrap
[2024-06-23T21:30:38.032Z] import weakref
[2024-06-23T21:30:38.032Z] import math
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] import numpy as np
[2024-06-23T21:30:38.032Z] from numpy.linalg import inv
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] from matplotlib import _api
[2024-06-23T21:30:38.032Z] > from matplotlib._path import (
[2024-06-23T21:30:38.032Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.032Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.032Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.032Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.032Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.032Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.032Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.032Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.032Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.032Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.032Z] code = main()
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.032Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.032Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.032Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.032Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.032Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.032Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.032Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.032Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.032Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.032Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.032Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.032Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.032Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.032Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.032Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.032Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.032Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.032Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.032Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.032Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.032Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.032Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.032Z] item.runtest()
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.032Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.032Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.032Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.032Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.032Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.032Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 375, in test_lines_random
[2024-06-23T21:30:38.032Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.032Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.032Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.032Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.032Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.032Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.032Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.032Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.032Z] from matplotlib._path import (
[2024-06-23T21:30:38.032Z] Traceback (most recent call last):
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.032Z] raise ImportError(msg)
[2024-06-23T21:30:38.032Z] ImportError:
[2024-06-23T21:30:38.032Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.032Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.032Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.032Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.032Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.032Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] _____________________ test_lines_random[threaded-Separate] _____________________
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] name = 'threaded', line_type = <LineType.Separate: 101>
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] @pytest.mark.image
[2024-06-23T21:30:38.032Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.032Z] def test_lines_random(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.032Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] tests/test_lines.py:375:
[2024-06-23T21:30:38.032Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.032Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.032Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.032Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.032Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.032Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.032Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.032Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.032Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.032Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.032Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.032Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.032Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.032Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] """
[2024-06-23T21:30:38.032Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.032Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.032Z] elements drawn on the canvas.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.032Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.032Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.032Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.032Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.032Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.032Z] interactive performance.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.032Z] to the graph:
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.032Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.032Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.032Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.032Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.032Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.032Z] themselves.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.032Z] of how to use transforms.
[2024-06-23T21:30:38.032Z] """
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.032Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.032Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] import copy
[2024-06-23T21:30:38.032Z] import functools
[2024-06-23T21:30:38.032Z] import textwrap
[2024-06-23T21:30:38.032Z] import weakref
[2024-06-23T21:30:38.032Z] import math
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] import numpy as np
[2024-06-23T21:30:38.032Z] from numpy.linalg import inv
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] from matplotlib import _api
[2024-06-23T21:30:38.032Z] > from matplotlib._path import (
[2024-06-23T21:30:38.032Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.032Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.032Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.032Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.032Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.032Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.032Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.032Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.032Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.032Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.032Z] code = main()
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.032Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.032Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.032Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.032Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.032Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.032Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.032Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.032Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.032Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.032Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.032Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.032Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.032Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.032Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.032Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.032Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.032Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.032Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.032Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.032Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.032Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.032Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.032Z] item.runtest()
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.032Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.032Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.032Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.032Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.032Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.032Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 375, in test_lines_random
[2024-06-23T21:30:38.032Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.032Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.032Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.032Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.032Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.032Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.032Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.032Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.032Z] from matplotlib._path import (
[2024-06-23T21:30:38.032Z] Traceback (most recent call last):
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.032Z] raise ImportError(msg)
[2024-06-23T21:30:38.032Z] ImportError:
[2024-06-23T21:30:38.032Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.032Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.032Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.032Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.032Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.032Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] ___________________ test_lines_random[threaded-SeparateCode] ___________________
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] name = 'threaded', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] @pytest.mark.image
[2024-06-23T21:30:38.032Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.032Z] def test_lines_random(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.032Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] tests/test_lines.py:375:
[2024-06-23T21:30:38.032Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.032Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.032Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.032Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.032Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.032Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.032Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.032Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.032Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.032Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.032Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.032Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.032Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.032Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] """
[2024-06-23T21:30:38.032Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.032Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.032Z] elements drawn on the canvas.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.032Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.032Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.032Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.032Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.032Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.032Z] interactive performance.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.032Z] to the graph:
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.032Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.032Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.032Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.032Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.032Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.032Z] themselves.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.032Z] of how to use transforms.
[2024-06-23T21:30:38.032Z] """
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.032Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.032Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] import copy
[2024-06-23T21:30:38.032Z] import functools
[2024-06-23T21:30:38.032Z] import textwrap
[2024-06-23T21:30:38.032Z] import weakref
[2024-06-23T21:30:38.032Z] import math
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] import numpy as np
[2024-06-23T21:30:38.032Z] from numpy.linalg import inv
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] from matplotlib import _api
[2024-06-23T21:30:38.032Z] > from matplotlib._path import (
[2024-06-23T21:30:38.032Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.032Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.032Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.032Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.032Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.032Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.032Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.032Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.032Z]
[2024-06-23T21:30:38.032Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.032Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.032Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.032Z] code = main()
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.032Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.032Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.032Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.032Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.032Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.033Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.033Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.033Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.033Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.033Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.033Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.033Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.033Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.033Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.033Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.033Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.033Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.033Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.033Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.033Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.033Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.033Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.033Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.033Z] item.runtest()
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.033Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.033Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.033Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.033Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.033Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.033Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 375, in test_lines_random
[2024-06-23T21:30:38.033Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.033Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.033Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.033Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.033Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.033Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.033Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.033Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.033Z] from matplotlib._path import (
[2024-06-23T21:30:38.033Z] Traceback (most recent call last):
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.033Z] raise ImportError(msg)
[2024-06-23T21:30:38.033Z] ImportError:
[2024-06-23T21:30:38.033Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.033Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.033Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.033Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.033Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.033Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] ________________ test_lines_random[threaded-ChunkCombinedCode] _________________
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] name = 'threaded', line_type = <LineType.ChunkCombinedCode: 103>
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] @pytest.mark.image
[2024-06-23T21:30:38.033Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.033Z] def test_lines_random(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.033Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] tests/test_lines.py:375:
[2024-06-23T21:30:38.033Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.033Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.033Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.033Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.033Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.033Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.033Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.033Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.033Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.033Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.033Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.033Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.033Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.033Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] """
[2024-06-23T21:30:38.033Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.033Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.033Z] elements drawn on the canvas.
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.033Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.033Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.033Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.033Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.033Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.033Z] interactive performance.
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.033Z] to the graph:
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.033Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.033Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.033Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.033Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.033Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.033Z] themselves.
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.033Z] of how to use transforms.
[2024-06-23T21:30:38.033Z] """
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.033Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.033Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] import copy
[2024-06-23T21:30:38.033Z] import functools
[2024-06-23T21:30:38.033Z] import textwrap
[2024-06-23T21:30:38.033Z] import weakref
[2024-06-23T21:30:38.033Z] import math
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] import numpy as np
[2024-06-23T21:30:38.033Z] from numpy.linalg import inv
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] from matplotlib import _api
[2024-06-23T21:30:38.033Z] > from matplotlib._path import (
[2024-06-23T21:30:38.033Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.033Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.033Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.033Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.033Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.033Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.033Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.033Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.033Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.033Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.033Z] code = main()
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.033Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.033Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.033Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.033Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.033Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.033Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.033Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.033Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.033Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.033Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.033Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.033Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.033Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.033Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.033Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.033Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.033Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.033Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.033Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.033Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.033Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.033Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.033Z] item.runtest()
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.033Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.033Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.033Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.033Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.033Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.033Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 375, in test_lines_random
[2024-06-23T21:30:38.033Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.033Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.033Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.033Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.033Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.033Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.033Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.033Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.033Z] from matplotlib._path import (
[2024-06-23T21:30:38.033Z] Traceback (most recent call last):
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.033Z] raise ImportError(msg)
[2024-06-23T21:30:38.033Z] ImportError:
[2024-06-23T21:30:38.033Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.033Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.033Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.033Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.033Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.033Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] _______________ test_lines_random[threaded-ChunkCombinedOffset] ________________
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] name = 'threaded', line_type = <LineType.ChunkCombinedOffset: 104>
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] @pytest.mark.image
[2024-06-23T21:30:38.033Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.033Z] def test_lines_random(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.033Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] tests/test_lines.py:375:
[2024-06-23T21:30:38.033Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.033Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.033Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.033Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.033Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.033Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.033Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.033Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.033Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.033Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.033Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.033Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.033Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.033Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] """
[2024-06-23T21:30:38.033Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.033Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.033Z] elements drawn on the canvas.
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.033Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.033Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.033Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.033Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.033Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.033Z] interactive performance.
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.033Z] to the graph:
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.033Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.033Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.033Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.033Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.033Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.033Z] themselves.
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.033Z] of how to use transforms.
[2024-06-23T21:30:38.033Z] """
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.033Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.033Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] import copy
[2024-06-23T21:30:38.033Z] import functools
[2024-06-23T21:30:38.033Z] import textwrap
[2024-06-23T21:30:38.033Z] import weakref
[2024-06-23T21:30:38.033Z] import math
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] import numpy as np
[2024-06-23T21:30:38.033Z] from numpy.linalg import inv
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] from matplotlib import _api
[2024-06-23T21:30:38.033Z] > from matplotlib._path import (
[2024-06-23T21:30:38.033Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.033Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.033Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.033Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.033Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.033Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.033Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.033Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.033Z]
[2024-06-23T21:30:38.033Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.033Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.033Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.033Z] code = main()
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.033Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.033Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.033Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.033Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.033Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.033Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.033Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.033Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.033Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.033Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.033Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.033Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.033Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.033Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.033Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.033Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.033Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.033Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.033Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.033Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.033Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.033Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.033Z] item.runtest()
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.033Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.033Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.033Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.033Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.033Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.033Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 375, in test_lines_random
[2024-06-23T21:30:38.033Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.033Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.033Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.033Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.033Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.033Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.033Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.033Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.034Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.034Z] from matplotlib._path import (
[2024-06-23T21:30:38.034Z] Traceback (most recent call last):
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.034Z] raise ImportError(msg)
[2024-06-23T21:30:38.034Z] ImportError:
[2024-06-23T21:30:38.034Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.034Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.034Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.034Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.034Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.034Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] _________________ test_lines_random[threaded-ChunkCombinedNan] _________________
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] name = 'threaded', line_type = <LineType.ChunkCombinedNan: 105>
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] @pytest.mark.image
[2024-06-23T21:30:38.034Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.034Z] def test_lines_random(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.034Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] tests/test_lines.py:375:
[2024-06-23T21:30:38.034Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.034Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.034Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.034Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.034Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.034Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.034Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.034Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.034Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.034Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.034Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.034Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.034Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.034Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] """
[2024-06-23T21:30:38.034Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.034Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.034Z] elements drawn on the canvas.
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.034Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.034Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.034Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.034Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.034Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.034Z] interactive performance.
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.034Z] to the graph:
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.034Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.034Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.034Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.034Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.034Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.034Z] themselves.
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.034Z] of how to use transforms.
[2024-06-23T21:30:38.034Z] """
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.034Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.034Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] import copy
[2024-06-23T21:30:38.034Z] import functools
[2024-06-23T21:30:38.034Z] import textwrap
[2024-06-23T21:30:38.034Z] import weakref
[2024-06-23T21:30:38.034Z] import math
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] import numpy as np
[2024-06-23T21:30:38.034Z] from numpy.linalg import inv
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] from matplotlib import _api
[2024-06-23T21:30:38.034Z] > from matplotlib._path import (
[2024-06-23T21:30:38.034Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.034Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.034Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.034Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.034Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.034Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.034Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.034Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.034Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.034Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.034Z] code = main()
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.034Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.034Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.034Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.034Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.034Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.034Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.034Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.034Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.034Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.034Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.034Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.034Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.034Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.034Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.034Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.034Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.034Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.034Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.034Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.034Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.034Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.034Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.034Z] item.runtest()
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.034Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.034Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.034Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.034Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.034Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.034Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 375, in test_lines_random
[2024-06-23T21:30:38.034Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.034Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.034Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.034Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.034Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.034Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.034Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.034Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.034Z] from matplotlib._path import (
[2024-06-23T21:30:38.034Z] Traceback (most recent call last):
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.034Z] raise ImportError(msg)
[2024-06-23T21:30:38.034Z] ImportError:
[2024-06-23T21:30:38.034Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.034Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.034Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.034Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.034Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.034Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] ________________ test_lines_random_chunk[mpl2005-SeparateCode] _________________
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] name = 'mpl2005', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] @pytest.mark.image
[2024-06-23T21:30:38.034Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.034Z] def test_lines_random_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.034Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] tests/test_lines.py:398:
[2024-06-23T21:30:38.034Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.034Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.034Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.034Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.034Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.034Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.034Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.034Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.034Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.034Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.034Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.034Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.034Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.034Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] """
[2024-06-23T21:30:38.034Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.034Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.034Z] elements drawn on the canvas.
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.034Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.034Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.034Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.034Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.034Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.034Z] interactive performance.
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.034Z] to the graph:
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.034Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.034Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.034Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.034Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.034Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.034Z] themselves.
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.034Z] of how to use transforms.
[2024-06-23T21:30:38.034Z] """
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.034Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.034Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] import copy
[2024-06-23T21:30:38.034Z] import functools
[2024-06-23T21:30:38.034Z] import textwrap
[2024-06-23T21:30:38.034Z] import weakref
[2024-06-23T21:30:38.034Z] import math
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] import numpy as np
[2024-06-23T21:30:38.034Z] from numpy.linalg import inv
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] from matplotlib import _api
[2024-06-23T21:30:38.034Z] > from matplotlib._path import (
[2024-06-23T21:30:38.034Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.034Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.034Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.034Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.034Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.034Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.034Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.034Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.034Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.034Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.034Z] code = main()
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.034Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.034Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.034Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.034Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.034Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.034Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.034Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.034Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.034Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.034Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.034Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.034Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.034Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.034Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.034Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.034Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.034Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.034Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.034Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.034Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.034Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.034Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.034Z] item.runtest()
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.034Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.034Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.034Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.034Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.034Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.034Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 398, in test_lines_random_chunk
[2024-06-23T21:30:38.034Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.034Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.034Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.034Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.034Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.034Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.034Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.034Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.034Z] from matplotlib._path import (
[2024-06-23T21:30:38.034Z] Traceback (most recent call last):
[2024-06-23T21:30:38.034Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.034Z] raise ImportError(msg)
[2024-06-23T21:30:38.034Z] ImportError:
[2024-06-23T21:30:38.034Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.034Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.034Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.034Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.034Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.034Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] ________________ test_lines_random_chunk[mpl2014-SeparateCode] _________________
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] name = 'mpl2014', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] @pytest.mark.image
[2024-06-23T21:30:38.034Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.034Z] def test_lines_random_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.034Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] tests/test_lines.py:398:
[2024-06-23T21:30:38.034Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.034Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.034Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.034Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.034Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.034Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.034Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.034Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.034Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.034Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.034Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.034Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.034Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.034Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] """
[2024-06-23T21:30:38.034Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.034Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.034Z] elements drawn on the canvas.
[2024-06-23T21:30:38.034Z]
[2024-06-23T21:30:38.034Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.035Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.035Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.035Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.035Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.035Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.035Z] interactive performance.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.035Z] to the graph:
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.035Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.035Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.035Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.035Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.035Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.035Z] themselves.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.035Z] of how to use transforms.
[2024-06-23T21:30:38.035Z] """
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.035Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.035Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] import copy
[2024-06-23T21:30:38.035Z] import functools
[2024-06-23T21:30:38.035Z] import textwrap
[2024-06-23T21:30:38.035Z] import weakref
[2024-06-23T21:30:38.035Z] import math
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] import numpy as np
[2024-06-23T21:30:38.035Z] from numpy.linalg import inv
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] from matplotlib import _api
[2024-06-23T21:30:38.035Z] > from matplotlib._path import (
[2024-06-23T21:30:38.035Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.035Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.035Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.035Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.035Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.035Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.035Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.035Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.035Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.035Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.035Z] code = main()
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.035Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.035Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.035Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.035Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.035Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.035Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.035Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.035Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.035Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.035Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.035Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.035Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.035Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.035Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.035Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.035Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.035Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.035Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.035Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.035Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.035Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.035Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.035Z] item.runtest()
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.035Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.035Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.035Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.035Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.035Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.035Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 398, in test_lines_random_chunk
[2024-06-23T21:30:38.035Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.035Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.035Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.035Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.035Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.035Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.035Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.035Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.035Z] from matplotlib._path import (
[2024-06-23T21:30:38.035Z] Traceback (most recent call last):
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.035Z] raise ImportError(msg)
[2024-06-23T21:30:38.035Z] ImportError:
[2024-06-23T21:30:38.035Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.035Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.035Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.035Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.035Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.035Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] ___________________ test_lines_random_chunk[serial-Separate] ___________________
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] name = 'serial', line_type = <LineType.Separate: 101>
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] @pytest.mark.image
[2024-06-23T21:30:38.035Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.035Z] def test_lines_random_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.035Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] tests/test_lines.py:398:
[2024-06-23T21:30:38.035Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.035Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.035Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.035Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.035Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.035Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.035Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.035Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.035Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.035Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.035Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.035Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.035Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.035Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] """
[2024-06-23T21:30:38.035Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.035Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.035Z] elements drawn on the canvas.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.035Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.035Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.035Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.035Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.035Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.035Z] interactive performance.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.035Z] to the graph:
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.035Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.035Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.035Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.035Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.035Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.035Z] themselves.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.035Z] of how to use transforms.
[2024-06-23T21:30:38.035Z] """
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.035Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.035Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] import copy
[2024-06-23T21:30:38.035Z] import functools
[2024-06-23T21:30:38.035Z] import textwrap
[2024-06-23T21:30:38.035Z] import weakref
[2024-06-23T21:30:38.035Z] import math
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] import numpy as np
[2024-06-23T21:30:38.035Z] from numpy.linalg import inv
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] from matplotlib import _api
[2024-06-23T21:30:38.035Z] > from matplotlib._path import (
[2024-06-23T21:30:38.035Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.035Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.035Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.035Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.035Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.035Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.035Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.035Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.035Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.035Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.035Z] code = main()
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.035Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.035Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.035Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.035Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.035Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.035Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.035Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.035Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.035Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.035Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.035Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.035Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.035Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.035Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.035Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.035Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.035Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.035Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.035Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.035Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.035Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.035Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.035Z] item.runtest()
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.035Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.035Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.035Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.035Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.035Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.035Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 398, in test_lines_random_chunk
[2024-06-23T21:30:38.035Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.035Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.035Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.035Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.035Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.035Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.035Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.035Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.035Z] from matplotlib._path import (
[2024-06-23T21:30:38.035Z] Traceback (most recent call last):
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.035Z] raise ImportError(msg)
[2024-06-23T21:30:38.035Z] ImportError:
[2024-06-23T21:30:38.035Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.035Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.035Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.035Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.035Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.035Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] _________________ test_lines_random_chunk[serial-SeparateCode] _________________
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] name = 'serial', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] @pytest.mark.image
[2024-06-23T21:30:38.035Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.035Z] def test_lines_random_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.035Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] tests/test_lines.py:398:
[2024-06-23T21:30:38.035Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.035Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.035Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.035Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.035Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.035Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.035Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.035Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.035Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.035Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.035Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.035Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.035Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.035Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] """
[2024-06-23T21:30:38.035Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.035Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.035Z] elements drawn on the canvas.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.035Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.035Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.035Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.035Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.035Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.035Z] interactive performance.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.035Z] to the graph:
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.035Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.035Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.035Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.035Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.035Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.035Z] themselves.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.035Z] of how to use transforms.
[2024-06-23T21:30:38.035Z] """
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.035Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.035Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] import copy
[2024-06-23T21:30:38.035Z] import functools
[2024-06-23T21:30:38.035Z] import textwrap
[2024-06-23T21:30:38.035Z] import weakref
[2024-06-23T21:30:38.035Z] import math
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] import numpy as np
[2024-06-23T21:30:38.035Z] from numpy.linalg import inv
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] from matplotlib import _api
[2024-06-23T21:30:38.035Z] > from matplotlib._path import (
[2024-06-23T21:30:38.035Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.035Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.035Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.035Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.035Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.035Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.035Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.035Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.035Z]
[2024-06-23T21:30:38.035Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.035Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.035Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.036Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.036Z] code = main()
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.036Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.036Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.036Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.036Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.036Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.036Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.036Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.036Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.036Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.036Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.036Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.036Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.036Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.036Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.036Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.036Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.036Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.036Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.036Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.036Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.036Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.036Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.036Z] item.runtest()
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.036Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.036Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.036Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.036Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.036Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.036Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 398, in test_lines_random_chunk
[2024-06-23T21:30:38.036Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.036Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.036Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.036Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.036Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.036Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.036Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.036Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.036Z] from matplotlib._path import (
[2024-06-23T21:30:38.036Z] Traceback (most recent call last):
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.036Z] raise ImportError(msg)
[2024-06-23T21:30:38.036Z] ImportError:
[2024-06-23T21:30:38.036Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.036Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.036Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.036Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.036Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.036Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] ______________ test_lines_random_chunk[serial-ChunkCombinedCode] _______________
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] name = 'serial', line_type = <LineType.ChunkCombinedCode: 103>
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] @pytest.mark.image
[2024-06-23T21:30:38.036Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.036Z] def test_lines_random_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.036Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] tests/test_lines.py:398:
[2024-06-23T21:30:38.036Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.036Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.036Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.036Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.036Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.036Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.036Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.036Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.036Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.036Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.036Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.036Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.036Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.036Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] """
[2024-06-23T21:30:38.036Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.036Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.036Z] elements drawn on the canvas.
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.036Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.036Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.036Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.036Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.036Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.036Z] interactive performance.
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.036Z] to the graph:
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.036Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.036Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.036Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.036Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.036Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.036Z] themselves.
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.036Z] of how to use transforms.
[2024-06-23T21:30:38.036Z] """
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.036Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.036Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] import copy
[2024-06-23T21:30:38.036Z] import functools
[2024-06-23T21:30:38.036Z] import textwrap
[2024-06-23T21:30:38.036Z] import weakref
[2024-06-23T21:30:38.036Z] import math
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] import numpy as np
[2024-06-23T21:30:38.036Z] from numpy.linalg import inv
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] from matplotlib import _api
[2024-06-23T21:30:38.036Z] > from matplotlib._path import (
[2024-06-23T21:30:38.036Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.036Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.036Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.036Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.036Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.036Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.036Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.036Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.036Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.036Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.036Z] code = main()
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.036Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.036Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.036Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.036Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.036Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.036Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.036Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.036Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.036Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.036Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.036Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.036Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.036Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.036Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.036Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.036Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.036Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.036Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.036Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.036Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.036Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.036Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.036Z] item.runtest()
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.036Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.036Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.036Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.036Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.036Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.036Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 398, in test_lines_random_chunk
[2024-06-23T21:30:38.036Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.036Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.036Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.036Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.036Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.036Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.036Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.036Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.036Z] from matplotlib._path import (
[2024-06-23T21:30:38.036Z] Traceback (most recent call last):
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.036Z] raise ImportError(msg)
[2024-06-23T21:30:38.036Z] ImportError:
[2024-06-23T21:30:38.036Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.036Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.036Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.036Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.036Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.036Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] _____________ test_lines_random_chunk[serial-ChunkCombinedOffset] ______________
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] name = 'serial', line_type = <LineType.ChunkCombinedOffset: 104>
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] @pytest.mark.image
[2024-06-23T21:30:38.036Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.036Z] def test_lines_random_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.036Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] tests/test_lines.py:398:
[2024-06-23T21:30:38.036Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.036Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.036Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.036Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.036Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.036Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.036Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.036Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.036Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.036Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.036Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.036Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.036Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.036Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] """
[2024-06-23T21:30:38.036Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.036Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.036Z] elements drawn on the canvas.
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.036Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.036Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.036Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.036Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.036Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.036Z] interactive performance.
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.036Z] to the graph:
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.036Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.036Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.036Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.036Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.036Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.036Z] themselves.
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.036Z] of how to use transforms.
[2024-06-23T21:30:38.036Z] """
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.036Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.036Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] import copy
[2024-06-23T21:30:38.036Z] import functools
[2024-06-23T21:30:38.036Z] import textwrap
[2024-06-23T21:30:38.036Z] import weakref
[2024-06-23T21:30:38.036Z] import math
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] import numpy as np
[2024-06-23T21:30:38.036Z] from numpy.linalg import inv
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] from matplotlib import _api
[2024-06-23T21:30:38.036Z] > from matplotlib._path import (
[2024-06-23T21:30:38.036Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.036Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.036Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.036Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.036Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.036Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.036Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.036Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.036Z]
[2024-06-23T21:30:38.036Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.036Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.036Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.036Z] code = main()
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.036Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.036Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.036Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.036Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.036Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.036Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.036Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.036Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.036Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.036Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.036Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.036Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.036Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.036Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.036Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.036Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.036Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.036Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.036Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.036Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.036Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.036Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.036Z] item.runtest()
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.036Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.036Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.036Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.036Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.036Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.036Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.036Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 398, in test_lines_random_chunk
[2024-06-23T21:30:38.037Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.037Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.037Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.037Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.037Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.037Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.037Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.037Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.037Z] from matplotlib._path import (
[2024-06-23T21:30:38.037Z] Traceback (most recent call last):
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.037Z] raise ImportError(msg)
[2024-06-23T21:30:38.037Z] ImportError:
[2024-06-23T21:30:38.037Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.037Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.037Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.037Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.037Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.037Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] _______________ test_lines_random_chunk[serial-ChunkCombinedNan] _______________
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] name = 'serial', line_type = <LineType.ChunkCombinedNan: 105>
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] @pytest.mark.image
[2024-06-23T21:30:38.037Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.037Z] def test_lines_random_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.037Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] tests/test_lines.py:398:
[2024-06-23T21:30:38.037Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.037Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.037Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.037Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.037Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.037Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.037Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.037Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.037Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.037Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.037Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.037Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.037Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.037Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] """
[2024-06-23T21:30:38.037Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.037Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.037Z] elements drawn on the canvas.
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.037Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.037Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.037Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.037Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.037Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.037Z] interactive performance.
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.037Z] to the graph:
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.037Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.037Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.037Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.037Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.037Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.037Z] themselves.
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.037Z] of how to use transforms.
[2024-06-23T21:30:38.037Z] """
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.037Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.037Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] import copy
[2024-06-23T21:30:38.037Z] import functools
[2024-06-23T21:30:38.037Z] import textwrap
[2024-06-23T21:30:38.037Z] import weakref
[2024-06-23T21:30:38.037Z] import math
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] import numpy as np
[2024-06-23T21:30:38.037Z] from numpy.linalg import inv
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] from matplotlib import _api
[2024-06-23T21:30:38.037Z] > from matplotlib._path import (
[2024-06-23T21:30:38.037Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.037Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.037Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.037Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.037Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.037Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.037Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.037Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.037Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.037Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.037Z] code = main()
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.037Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.037Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.037Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.037Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.037Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.037Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.037Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.037Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.037Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.037Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.037Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.037Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.037Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.037Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.037Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.037Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.037Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.037Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.037Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.037Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.037Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.037Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.037Z] item.runtest()
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.037Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.037Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.037Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.037Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.037Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.037Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 398, in test_lines_random_chunk
[2024-06-23T21:30:38.037Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.037Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.037Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.037Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.037Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.037Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.037Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.037Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.037Z] from matplotlib._path import (
[2024-06-23T21:30:38.037Z] Traceback (most recent call last):
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.037Z] raise ImportError(msg)
[2024-06-23T21:30:38.037Z] ImportError:
[2024-06-23T21:30:38.037Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.037Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.037Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.037Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.037Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.037Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] __________________ test_lines_random_chunk[threaded-Separate] __________________
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] name = 'threaded', line_type = <LineType.Separate: 101>
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] @pytest.mark.image
[2024-06-23T21:30:38.037Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.037Z] def test_lines_random_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.037Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] tests/test_lines.py:398:
[2024-06-23T21:30:38.037Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.037Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.037Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.037Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.037Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.037Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.037Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.037Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.037Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.037Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.037Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.037Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.037Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.037Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] """
[2024-06-23T21:30:38.037Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.037Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.037Z] elements drawn on the canvas.
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.037Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.037Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.037Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.037Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.037Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.037Z] interactive performance.
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.037Z] to the graph:
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.037Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.037Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.037Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.037Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.037Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.037Z] themselves.
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.037Z] of how to use transforms.
[2024-06-23T21:30:38.037Z] """
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.037Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.037Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] import copy
[2024-06-23T21:30:38.037Z] import functools
[2024-06-23T21:30:38.037Z] import textwrap
[2024-06-23T21:30:38.037Z] import weakref
[2024-06-23T21:30:38.037Z] import math
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] import numpy as np
[2024-06-23T21:30:38.037Z] from numpy.linalg import inv
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] from matplotlib import _api
[2024-06-23T21:30:38.037Z] > from matplotlib._path import (
[2024-06-23T21:30:38.037Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.037Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.037Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.037Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.037Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.037Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.037Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.037Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.037Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.037Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.037Z] code = main()
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.037Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.037Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.037Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.037Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.037Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.037Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.037Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.037Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.037Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.037Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.037Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.037Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.037Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.037Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.037Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.037Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.037Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.037Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.037Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.037Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.037Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.037Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.037Z] item.runtest()
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.037Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.037Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.037Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.037Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.037Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.037Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 398, in test_lines_random_chunk
[2024-06-23T21:30:38.037Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.037Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.037Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.037Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.037Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.037Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.037Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.037Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.037Z] from matplotlib._path import (
[2024-06-23T21:30:38.037Z] Traceback (most recent call last):
[2024-06-23T21:30:38.037Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.037Z] raise ImportError(msg)
[2024-06-23T21:30:38.037Z] ImportError:
[2024-06-23T21:30:38.037Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.037Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.037Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.037Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.037Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.037Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] ________________ test_lines_random_chunk[threaded-SeparateCode] ________________
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] name = 'threaded', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] @pytest.mark.image
[2024-06-23T21:30:38.037Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.037Z] def test_lines_random_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.037Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.037Z]
[2024-06-23T21:30:38.037Z] tests/test_lines.py:398:
[2024-06-23T21:30:38.037Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.037Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.037Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.037Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.037Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.037Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.037Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.037Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.037Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.037Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.037Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.037Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.038Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.038Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] """
[2024-06-23T21:30:38.038Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.038Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.038Z] elements drawn on the canvas.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.038Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.038Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.038Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.038Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.038Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.038Z] interactive performance.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.038Z] to the graph:
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.038Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.038Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.038Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.038Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.038Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.038Z] themselves.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.038Z] of how to use transforms.
[2024-06-23T21:30:38.038Z] """
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.038Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.038Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] import copy
[2024-06-23T21:30:38.038Z] import functools
[2024-06-23T21:30:38.038Z] import textwrap
[2024-06-23T21:30:38.038Z] import weakref
[2024-06-23T21:30:38.038Z] import math
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] import numpy as np
[2024-06-23T21:30:38.038Z] from numpy.linalg import inv
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] from matplotlib import _api
[2024-06-23T21:30:38.038Z] > from matplotlib._path import (
[2024-06-23T21:30:38.038Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.038Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.038Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.038Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.038Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.038Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.038Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.038Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.038Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.038Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.038Z] code = main()
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.038Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.038Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.038Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.038Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.038Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.038Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.038Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.038Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.038Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.038Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.038Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.038Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.038Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.038Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.038Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.038Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.038Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.038Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.038Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.038Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.038Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.038Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.038Z] item.runtest()
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.038Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.038Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.038Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.038Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.038Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.038Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 398, in test_lines_random_chunk
[2024-06-23T21:30:38.038Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.038Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.038Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.038Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.038Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.038Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.038Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.038Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.038Z] from matplotlib._path import (
[2024-06-23T21:30:38.038Z] Traceback (most recent call last):
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.038Z] raise ImportError(msg)
[2024-06-23T21:30:38.038Z] ImportError:
[2024-06-23T21:30:38.038Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.038Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.038Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.038Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.038Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.038Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] _____________ test_lines_random_chunk[threaded-ChunkCombinedCode] ______________
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] name = 'threaded', line_type = <LineType.ChunkCombinedCode: 103>
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] @pytest.mark.image
[2024-06-23T21:30:38.038Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.038Z] def test_lines_random_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.038Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] tests/test_lines.py:398:
[2024-06-23T21:30:38.038Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.038Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.038Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.038Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.038Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.038Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.038Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.038Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.038Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.038Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.038Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.038Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.038Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.038Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] """
[2024-06-23T21:30:38.038Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.038Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.038Z] elements drawn on the canvas.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.038Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.038Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.038Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.038Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.038Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.038Z] interactive performance.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.038Z] to the graph:
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.038Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.038Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.038Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.038Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.038Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.038Z] themselves.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.038Z] of how to use transforms.
[2024-06-23T21:30:38.038Z] """
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.038Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.038Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] import copy
[2024-06-23T21:30:38.038Z] import functools
[2024-06-23T21:30:38.038Z] import textwrap
[2024-06-23T21:30:38.038Z] import weakref
[2024-06-23T21:30:38.038Z] import math
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] import numpy as np
[2024-06-23T21:30:38.038Z] from numpy.linalg import inv
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] from matplotlib import _api
[2024-06-23T21:30:38.038Z] > from matplotlib._path import (
[2024-06-23T21:30:38.038Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.038Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.038Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.038Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.038Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.038Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.038Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.038Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.038Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.038Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.038Z] code = main()
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.038Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.038Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.038Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.038Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.038Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.038Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.038Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.038Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.038Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.038Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.038Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.038Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.038Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.038Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.038Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.038Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.038Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.038Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.038Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.038Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.038Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.038Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.038Z] item.runtest()
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.038Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.038Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.038Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.038Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.038Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.038Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 398, in test_lines_random_chunk
[2024-06-23T21:30:38.038Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.038Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.038Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.038Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.038Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.038Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.038Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.038Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.038Z] from matplotlib._path import (
[2024-06-23T21:30:38.038Z] Traceback (most recent call last):
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.038Z] raise ImportError(msg)
[2024-06-23T21:30:38.038Z] ImportError:
[2024-06-23T21:30:38.038Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.038Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.038Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.038Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.038Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.038Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] ____________ test_lines_random_chunk[threaded-ChunkCombinedOffset] _____________
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] name = 'threaded', line_type = <LineType.ChunkCombinedOffset: 104>
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] @pytest.mark.image
[2024-06-23T21:30:38.038Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.038Z] def test_lines_random_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.038Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] tests/test_lines.py:398:
[2024-06-23T21:30:38.038Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.038Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.038Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.038Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.038Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.038Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.038Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.038Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.038Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.038Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.038Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.038Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.038Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.038Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] """
[2024-06-23T21:30:38.038Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.038Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.038Z] elements drawn on the canvas.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.038Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.038Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.038Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.038Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.038Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.038Z] interactive performance.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.038Z] to the graph:
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.038Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.038Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.038Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.038Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.038Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.038Z] themselves.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.038Z] of how to use transforms.
[2024-06-23T21:30:38.038Z] """
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.038Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.038Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] import copy
[2024-06-23T21:30:38.038Z] import functools
[2024-06-23T21:30:38.038Z] import textwrap
[2024-06-23T21:30:38.038Z] import weakref
[2024-06-23T21:30:38.038Z] import math
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] import numpy as np
[2024-06-23T21:30:38.038Z] from numpy.linalg import inv
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] from matplotlib import _api
[2024-06-23T21:30:38.038Z] > from matplotlib._path import (
[2024-06-23T21:30:38.038Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.038Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.038Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.038Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.038Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.038Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.038Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.038Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.038Z]
[2024-06-23T21:30:38.038Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.038Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.038Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.038Z] code = main()
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.038Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.038Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.038Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.038Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.039Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.039Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.039Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.039Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.039Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.039Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.039Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.039Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.039Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.039Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.039Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.039Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.039Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.039Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.039Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.039Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.039Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.039Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.039Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.039Z] item.runtest()
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.039Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.039Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.039Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.039Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.039Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.039Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 398, in test_lines_random_chunk
[2024-06-23T21:30:38.039Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.039Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.039Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.039Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.039Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.039Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.039Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.039Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.039Z] from matplotlib._path import (
[2024-06-23T21:30:38.039Z] Traceback (most recent call last):
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.039Z] raise ImportError(msg)
[2024-06-23T21:30:38.039Z] ImportError:
[2024-06-23T21:30:38.039Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.039Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.039Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.039Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.039Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.039Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] ______________ test_lines_random_chunk[threaded-ChunkCombinedNan] ______________
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] name = 'threaded', line_type = <LineType.ChunkCombinedNan: 105>
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] @pytest.mark.image
[2024-06-23T21:30:38.039Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.039Z] def test_lines_random_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.039Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] tests/test_lines.py:398:
[2024-06-23T21:30:38.039Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.039Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.039Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.039Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.039Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.039Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.039Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.039Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.039Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.039Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.039Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.039Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.039Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.039Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] """
[2024-06-23T21:30:38.039Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.039Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.039Z] elements drawn on the canvas.
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.039Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.039Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.039Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.039Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.039Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.039Z] interactive performance.
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.039Z] to the graph:
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.039Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.039Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.039Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.039Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.039Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.039Z] themselves.
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.039Z] of how to use transforms.
[2024-06-23T21:30:38.039Z] """
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.039Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.039Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] import copy
[2024-06-23T21:30:38.039Z] import functools
[2024-06-23T21:30:38.039Z] import textwrap
[2024-06-23T21:30:38.039Z] import weakref
[2024-06-23T21:30:38.039Z] import math
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] import numpy as np
[2024-06-23T21:30:38.039Z] from numpy.linalg import inv
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] from matplotlib import _api
[2024-06-23T21:30:38.039Z] > from matplotlib._path import (
[2024-06-23T21:30:38.039Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.039Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.039Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.039Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.039Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.039Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.039Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.039Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.039Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.039Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.039Z] code = main()
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.039Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.039Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.039Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.039Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.039Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.039Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.039Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.039Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.039Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.039Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.039Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.039Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.039Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.039Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.039Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.039Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.039Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.039Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.039Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.039Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.039Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.039Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.039Z] item.runtest()
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.039Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.039Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.039Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.039Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.039Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.039Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 398, in test_lines_random_chunk
[2024-06-23T21:30:38.039Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.039Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.039Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.039Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.039Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.039Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.039Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.039Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.039Z] from matplotlib._path import (
[2024-06-23T21:30:38.039Z] Traceback (most recent call last):
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.039Z] raise ImportError(msg)
[2024-06-23T21:30:38.039Z] ImportError:
[2024-06-23T21:30:38.039Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.039Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.039Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.039Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.039Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.039Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] _________________ test_lines_random_chunk_threads[2-Separate] __________________
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] line_type = <LineType.Separate: 101>, thread_count = 2
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] @pytest.mark.image
[2024-06-23T21:30:38.039Z] @pytest.mark.threads
[2024-06-23T21:30:38.039Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.039Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.039Z] def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.039Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] tests/test_lines.py:434:
[2024-06-23T21:30:38.039Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.039Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.039Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.039Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.039Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.039Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.039Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.039Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.039Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.039Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.039Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.039Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.039Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.039Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] """
[2024-06-23T21:30:38.039Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.039Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.039Z] elements drawn on the canvas.
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.039Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.039Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.039Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.039Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.039Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.039Z] interactive performance.
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.039Z] to the graph:
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.039Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.039Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.039Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.039Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.039Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.039Z] themselves.
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.039Z] of how to use transforms.
[2024-06-23T21:30:38.039Z] """
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.039Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.039Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] import copy
[2024-06-23T21:30:38.039Z] import functools
[2024-06-23T21:30:38.039Z] import textwrap
[2024-06-23T21:30:38.039Z] import weakref
[2024-06-23T21:30:38.039Z] import math
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] import numpy as np
[2024-06-23T21:30:38.039Z] from numpy.linalg import inv
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] from matplotlib import _api
[2024-06-23T21:30:38.039Z] > from matplotlib._path import (
[2024-06-23T21:30:38.039Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.039Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.039Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.039Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.039Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.039Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.039Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.039Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.039Z]
[2024-06-23T21:30:38.039Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.039Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.039Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.039Z] code = main()
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.039Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.039Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.039Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.039Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.039Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.039Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.039Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.039Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.039Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.039Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.039Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.039Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.039Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.039Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.039Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.039Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.039Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.039Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.039Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.039Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.039Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.039Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.039Z] item.runtest()
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.039Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.039Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.039Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.040Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.040Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.040Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.040Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 434, in test_lines_random_chunk_threads
[2024-06-23T21:30:38.040Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.040Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.040Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.040Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.040Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.040Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.040Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.040Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.040Z] from matplotlib._path import (
[2024-06-23T21:30:38.040Z] Traceback (most recent call last):
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.040Z] raise ImportError(msg)
[2024-06-23T21:30:38.040Z] ImportError:
[2024-06-23T21:30:38.040Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.040Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.040Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.040Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.040Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.040Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] _______________ test_lines_random_chunk_threads[2-SeparateCode] ________________
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] line_type = <LineType.SeparateCode: 102>, thread_count = 2
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] @pytest.mark.image
[2024-06-23T21:30:38.040Z] @pytest.mark.threads
[2024-06-23T21:30:38.040Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.040Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.040Z] def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.040Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] tests/test_lines.py:434:
[2024-06-23T21:30:38.040Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.040Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.040Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.040Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.040Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.040Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.040Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.040Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.040Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.040Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.040Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.040Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.040Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.040Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] """
[2024-06-23T21:30:38.040Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.040Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.040Z] elements drawn on the canvas.
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.040Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.040Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.040Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.040Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.040Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.040Z] interactive performance.
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.040Z] to the graph:
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.040Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.040Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.040Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.040Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.040Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.040Z] themselves.
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.040Z] of how to use transforms.
[2024-06-23T21:30:38.040Z] """
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.040Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.040Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] import copy
[2024-06-23T21:30:38.040Z] import functools
[2024-06-23T21:30:38.040Z] import textwrap
[2024-06-23T21:30:38.040Z] import weakref
[2024-06-23T21:30:38.040Z] import math
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] import numpy as np
[2024-06-23T21:30:38.040Z] from numpy.linalg import inv
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] from matplotlib import _api
[2024-06-23T21:30:38.040Z] > from matplotlib._path import (
[2024-06-23T21:30:38.040Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.040Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.040Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.040Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.040Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.040Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.040Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.040Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.040Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.040Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.040Z] code = main()
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.040Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.040Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.040Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.040Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.040Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.040Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.040Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.040Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.040Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.040Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.040Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.040Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.040Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.040Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.040Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.040Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.040Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.040Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.040Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.040Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.040Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.040Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.040Z] item.runtest()
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.040Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.040Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.040Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.040Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.040Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.040Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 434, in test_lines_random_chunk_threads
[2024-06-23T21:30:38.040Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.040Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.040Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.040Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.040Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.040Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.040Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.040Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.040Z] from matplotlib._path import (
[2024-06-23T21:30:38.040Z] Traceback (most recent call last):
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.040Z] raise ImportError(msg)
[2024-06-23T21:30:38.040Z] ImportError:
[2024-06-23T21:30:38.040Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.040Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.040Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.040Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.040Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.040Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] _____________ test_lines_random_chunk_threads[2-ChunkCombinedCode] _____________
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] line_type = <LineType.ChunkCombinedCode: 103>, thread_count = 2
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] @pytest.mark.image
[2024-06-23T21:30:38.040Z] @pytest.mark.threads
[2024-06-23T21:30:38.040Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.040Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.040Z] def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.040Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] tests/test_lines.py:434:
[2024-06-23T21:30:38.040Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.040Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.040Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.040Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.040Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.040Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.040Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.040Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.040Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.040Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.040Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.040Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.040Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.040Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] """
[2024-06-23T21:30:38.040Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.040Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.040Z] elements drawn on the canvas.
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.040Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.040Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.040Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.040Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.040Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.040Z] interactive performance.
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.040Z] to the graph:
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.040Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.040Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.040Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.040Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.040Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.040Z] themselves.
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.040Z] of how to use transforms.
[2024-06-23T21:30:38.040Z] """
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.040Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.040Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] import copy
[2024-06-23T21:30:38.040Z] import functools
[2024-06-23T21:30:38.040Z] import textwrap
[2024-06-23T21:30:38.040Z] import weakref
[2024-06-23T21:30:38.040Z] import math
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] import numpy as np
[2024-06-23T21:30:38.040Z] from numpy.linalg import inv
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] from matplotlib import _api
[2024-06-23T21:30:38.040Z] > from matplotlib._path import (
[2024-06-23T21:30:38.040Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.040Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.040Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.040Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.040Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.040Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.040Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.040Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.040Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.040Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.040Z] code = main()
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.040Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.040Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.040Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.040Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.040Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.040Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.040Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.040Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.040Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.040Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.040Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.040Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.040Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.040Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.040Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.040Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.040Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.040Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.040Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.040Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.040Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.040Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.040Z] item.runtest()
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.040Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.040Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.040Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.040Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.040Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.040Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 434, in test_lines_random_chunk_threads
[2024-06-23T21:30:38.040Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.040Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.040Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.040Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.040Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.040Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.040Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.040Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.040Z] from matplotlib._path import (
[2024-06-23T21:30:38.040Z] Traceback (most recent call last):
[2024-06-23T21:30:38.040Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.040Z] raise ImportError(msg)
[2024-06-23T21:30:38.040Z] ImportError:
[2024-06-23T21:30:38.040Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.040Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.040Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.040Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.040Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.040Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] ____________ test_lines_random_chunk_threads[2-ChunkCombinedOffset] ____________
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] line_type = <LineType.ChunkCombinedOffset: 104>, thread_count = 2
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] @pytest.mark.image
[2024-06-23T21:30:38.040Z] @pytest.mark.threads
[2024-06-23T21:30:38.040Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.040Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.040Z] def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.040Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] tests/test_lines.py:434:
[2024-06-23T21:30:38.040Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.040Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.040Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.040Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.040Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.040Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.040Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.040Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.040Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.040Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.040Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.040Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.040Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.040Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.040Z]
[2024-06-23T21:30:38.040Z] """
[2024-06-23T21:30:38.041Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.041Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.041Z] elements drawn on the canvas.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.041Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.041Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.041Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.041Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.041Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.041Z] interactive performance.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.041Z] to the graph:
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.041Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.041Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.041Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.041Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.041Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.041Z] themselves.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.041Z] of how to use transforms.
[2024-06-23T21:30:38.041Z] """
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.041Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.041Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] import copy
[2024-06-23T21:30:38.041Z] import functools
[2024-06-23T21:30:38.041Z] import textwrap
[2024-06-23T21:30:38.041Z] import weakref
[2024-06-23T21:30:38.041Z] import math
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] import numpy as np
[2024-06-23T21:30:38.041Z] from numpy.linalg import inv
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] from matplotlib import _api
[2024-06-23T21:30:38.041Z] > from matplotlib._path import (
[2024-06-23T21:30:38.041Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.041Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.041Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.041Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.041Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.041Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.041Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.041Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.041Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.041Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.041Z] code = main()
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.041Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.041Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.041Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.041Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.041Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.041Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.041Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.041Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.041Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.041Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.041Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.041Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.041Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.041Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.041Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.041Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.041Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.041Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.041Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.041Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.041Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.041Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.041Z] item.runtest()
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.041Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.041Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.041Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.041Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.041Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.041Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 434, in test_lines_random_chunk_threads
[2024-06-23T21:30:38.041Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.041Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.041Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.041Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.041Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.041Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.041Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.041Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.041Z] from matplotlib._path import (
[2024-06-23T21:30:38.041Z] Traceback (most recent call last):
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.041Z] raise ImportError(msg)
[2024-06-23T21:30:38.041Z] ImportError:
[2024-06-23T21:30:38.041Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.041Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.041Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.041Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.041Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.041Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] _____________ test_lines_random_chunk_threads[2-ChunkCombinedNan] ______________
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] line_type = <LineType.ChunkCombinedNan: 105>, thread_count = 2
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] @pytest.mark.image
[2024-06-23T21:30:38.041Z] @pytest.mark.threads
[2024-06-23T21:30:38.041Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.041Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.041Z] def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.041Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] tests/test_lines.py:434:
[2024-06-23T21:30:38.041Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.041Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.041Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.041Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.041Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.041Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.041Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.041Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.041Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.041Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.041Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.041Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.041Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.041Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] """
[2024-06-23T21:30:38.041Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.041Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.041Z] elements drawn on the canvas.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.041Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.041Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.041Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.041Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.041Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.041Z] interactive performance.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.041Z] to the graph:
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.041Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.041Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.041Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.041Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.041Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.041Z] themselves.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.041Z] of how to use transforms.
[2024-06-23T21:30:38.041Z] """
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.041Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.041Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] import copy
[2024-06-23T21:30:38.041Z] import functools
[2024-06-23T21:30:38.041Z] import textwrap
[2024-06-23T21:30:38.041Z] import weakref
[2024-06-23T21:30:38.041Z] import math
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] import numpy as np
[2024-06-23T21:30:38.041Z] from numpy.linalg import inv
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] from matplotlib import _api
[2024-06-23T21:30:38.041Z] > from matplotlib._path import (
[2024-06-23T21:30:38.041Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.041Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.041Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.041Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.041Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.041Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.041Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.041Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.041Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.041Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.041Z] code = main()
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.041Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.041Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.041Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.041Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.041Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.041Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.041Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.041Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.041Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.041Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.041Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.041Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.041Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.041Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.041Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.041Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.041Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.041Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.041Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.041Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.041Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.041Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.041Z] item.runtest()
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.041Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.041Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.041Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.041Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.041Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.041Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 434, in test_lines_random_chunk_threads
[2024-06-23T21:30:38.041Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.041Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.041Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.041Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.041Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.041Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.041Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.041Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.041Z] from matplotlib._path import (
[2024-06-23T21:30:38.041Z] Traceback (most recent call last):
[2024-06-23T21:30:38.041Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.041Z] raise ImportError(msg)
[2024-06-23T21:30:38.041Z] ImportError:
[2024-06-23T21:30:38.041Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.041Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.041Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.041Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.041Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.041Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] _________________ test_lines_random_chunk_threads[3-Separate] __________________
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] line_type = <LineType.Separate: 101>, thread_count = 3
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] @pytest.mark.image
[2024-06-23T21:30:38.041Z] @pytest.mark.threads
[2024-06-23T21:30:38.041Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.041Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.041Z] def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.041Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] tests/test_lines.py:434:
[2024-06-23T21:30:38.041Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.041Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.041Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.041Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.041Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.041Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.041Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.041Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.041Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.041Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.041Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.041Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.041Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.041Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] """
[2024-06-23T21:30:38.041Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.041Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.041Z] elements drawn on the canvas.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.041Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.041Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.041Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.041Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.041Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.041Z] interactive performance.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.041Z] to the graph:
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.041Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.041Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.041Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.041Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.041Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.041Z] themselves.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.041Z] of how to use transforms.
[2024-06-23T21:30:38.041Z] """
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.041Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.041Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] import copy
[2024-06-23T21:30:38.041Z] import functools
[2024-06-23T21:30:38.041Z] import textwrap
[2024-06-23T21:30:38.041Z] import weakref
[2024-06-23T21:30:38.041Z] import math
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] import numpy as np
[2024-06-23T21:30:38.041Z] from numpy.linalg import inv
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] from matplotlib import _api
[2024-06-23T21:30:38.041Z] > from matplotlib._path import (
[2024-06-23T21:30:38.041Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.041Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.041Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.041Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.041Z]
[2024-06-23T21:30:38.042Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.042Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.042Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.042Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.042Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.042Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.042Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.042Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.042Z] code = main()
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.042Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.042Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.042Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.042Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.042Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.042Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.042Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.042Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.042Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.042Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.042Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.042Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.042Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.042Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.042Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.042Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.042Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.042Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.042Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.042Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.042Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.042Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.042Z] item.runtest()
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.042Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.042Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.042Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.042Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.042Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.042Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 434, in test_lines_random_chunk_threads
[2024-06-23T21:30:38.042Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.042Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.042Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.042Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.042Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.042Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.042Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.042Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.042Z] from matplotlib._path import (
[2024-06-23T21:30:38.042Z] Traceback (most recent call last):
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.042Z] raise ImportError(msg)
[2024-06-23T21:30:38.042Z] ImportError:
[2024-06-23T21:30:38.042Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.042Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.042Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.042Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.042Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.042Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] _______________ test_lines_random_chunk_threads[3-SeparateCode] ________________
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] line_type = <LineType.SeparateCode: 102>, thread_count = 3
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] @pytest.mark.image
[2024-06-23T21:30:38.042Z] @pytest.mark.threads
[2024-06-23T21:30:38.042Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.042Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.042Z] def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.042Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] tests/test_lines.py:434:
[2024-06-23T21:30:38.042Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.042Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.042Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.042Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.042Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.042Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.042Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.042Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.042Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.042Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.042Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.042Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.042Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.042Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] """
[2024-06-23T21:30:38.042Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.042Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.042Z] elements drawn on the canvas.
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.042Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.042Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.042Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.042Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.042Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.042Z] interactive performance.
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.042Z] to the graph:
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.042Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.042Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.042Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.042Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.042Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.042Z] themselves.
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.042Z] of how to use transforms.
[2024-06-23T21:30:38.042Z] """
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.042Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.042Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] import copy
[2024-06-23T21:30:38.042Z] import functools
[2024-06-23T21:30:38.042Z] import textwrap
[2024-06-23T21:30:38.042Z] import weakref
[2024-06-23T21:30:38.042Z] import math
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] import numpy as np
[2024-06-23T21:30:38.042Z] from numpy.linalg import inv
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] from matplotlib import _api
[2024-06-23T21:30:38.042Z] > from matplotlib._path import (
[2024-06-23T21:30:38.042Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.042Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.042Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.042Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.042Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.042Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.042Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.042Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.042Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.042Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.042Z] code = main()
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.042Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.042Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.042Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.042Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.042Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.042Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.042Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.042Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.042Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.042Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.042Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.042Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.042Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.042Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.042Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.042Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.042Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.042Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.042Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.042Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.042Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.042Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.042Z] item.runtest()
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.042Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.042Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.042Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.042Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.042Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.042Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 434, in test_lines_random_chunk_threads
[2024-06-23T21:30:38.042Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.042Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.042Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.042Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.042Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.042Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.042Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.042Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.042Z] from matplotlib._path import (
[2024-06-23T21:30:38.042Z] Traceback (most recent call last):
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.042Z] raise ImportError(msg)
[2024-06-23T21:30:38.042Z] ImportError:
[2024-06-23T21:30:38.042Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.042Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.042Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.042Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.042Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.042Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] _____________ test_lines_random_chunk_threads[3-ChunkCombinedCode] _____________
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] line_type = <LineType.ChunkCombinedCode: 103>, thread_count = 3
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] @pytest.mark.image
[2024-06-23T21:30:38.042Z] @pytest.mark.threads
[2024-06-23T21:30:38.042Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.042Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.042Z] def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.042Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] tests/test_lines.py:434:
[2024-06-23T21:30:38.042Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.042Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.042Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.042Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.042Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.042Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.042Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.042Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.042Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.042Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.042Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.042Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.042Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.042Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] """
[2024-06-23T21:30:38.042Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.042Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.042Z] elements drawn on the canvas.
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.042Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.042Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.042Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.042Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.042Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.042Z] interactive performance.
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.042Z] to the graph:
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.042Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.042Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.042Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.042Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.042Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.042Z] themselves.
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.042Z] of how to use transforms.
[2024-06-23T21:30:38.042Z] """
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.042Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.042Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] import copy
[2024-06-23T21:30:38.042Z] import functools
[2024-06-23T21:30:38.042Z] import textwrap
[2024-06-23T21:30:38.042Z] import weakref
[2024-06-23T21:30:38.042Z] import math
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] import numpy as np
[2024-06-23T21:30:38.042Z] from numpy.linalg import inv
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] from matplotlib import _api
[2024-06-23T21:30:38.042Z] > from matplotlib._path import (
[2024-06-23T21:30:38.042Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.042Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.042Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.042Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.042Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.042Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.042Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.042Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.042Z]
[2024-06-23T21:30:38.042Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.042Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.042Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.042Z] code = main()
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.042Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.042Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.042Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.042Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.042Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.042Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.042Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.042Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.042Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.042Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.042Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.042Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.042Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.042Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.042Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.042Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.042Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.042Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.042Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.042Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.042Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.042Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.042Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.043Z] item.runtest()
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.043Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.043Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.043Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.043Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.043Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.043Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 434, in test_lines_random_chunk_threads
[2024-06-23T21:30:38.043Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.043Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.043Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.043Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.043Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.043Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.043Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.043Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.043Z] from matplotlib._path import (
[2024-06-23T21:30:38.043Z] Traceback (most recent call last):
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.043Z] raise ImportError(msg)
[2024-06-23T21:30:38.043Z] ImportError:
[2024-06-23T21:30:38.043Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.043Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.043Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.043Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.043Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.043Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] ____________ test_lines_random_chunk_threads[3-ChunkCombinedOffset] ____________
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] line_type = <LineType.ChunkCombinedOffset: 104>, thread_count = 3
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] @pytest.mark.image
[2024-06-23T21:30:38.043Z] @pytest.mark.threads
[2024-06-23T21:30:38.043Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.043Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.043Z] def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.043Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] tests/test_lines.py:434:
[2024-06-23T21:30:38.043Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.043Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.043Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.043Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.043Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.043Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.043Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.043Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.043Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.043Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.043Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.043Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.043Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.043Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] """
[2024-06-23T21:30:38.043Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.043Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.043Z] elements drawn on the canvas.
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.043Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.043Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.043Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.043Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.043Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.043Z] interactive performance.
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.043Z] to the graph:
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.043Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.043Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.043Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.043Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.043Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.043Z] themselves.
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.043Z] of how to use transforms.
[2024-06-23T21:30:38.043Z] """
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.043Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.043Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] import copy
[2024-06-23T21:30:38.043Z] import functools
[2024-06-23T21:30:38.043Z] import textwrap
[2024-06-23T21:30:38.043Z] import weakref
[2024-06-23T21:30:38.043Z] import math
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] import numpy as np
[2024-06-23T21:30:38.043Z] from numpy.linalg import inv
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] from matplotlib import _api
[2024-06-23T21:30:38.043Z] > from matplotlib._path import (
[2024-06-23T21:30:38.043Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.043Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.043Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.043Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.043Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.043Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.043Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.043Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.043Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.043Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.043Z] code = main()
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.043Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.043Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.043Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.043Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.043Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.043Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.043Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.043Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.043Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.043Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.043Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.043Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.043Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.043Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.043Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.043Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.043Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.043Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.043Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.043Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.043Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.043Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.043Z] item.runtest()
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.043Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.043Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.043Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.043Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.043Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.043Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 434, in test_lines_random_chunk_threads
[2024-06-23T21:30:38.043Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.043Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.043Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.043Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.043Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.043Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.043Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.043Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.043Z] from matplotlib._path import (
[2024-06-23T21:30:38.043Z] Traceback (most recent call last):
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.043Z] raise ImportError(msg)
[2024-06-23T21:30:38.043Z] ImportError:
[2024-06-23T21:30:38.043Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.043Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.043Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.043Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.043Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.043Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] _____________ test_lines_random_chunk_threads[3-ChunkCombinedNan] ______________
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] line_type = <LineType.ChunkCombinedNan: 105>, thread_count = 3
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] @pytest.mark.image
[2024-06-23T21:30:38.043Z] @pytest.mark.threads
[2024-06-23T21:30:38.043Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.043Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.043Z] def test_lines_random_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.043Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] tests/test_lines.py:434:
[2024-06-23T21:30:38.043Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.043Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.043Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.043Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.043Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.043Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.043Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.043Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.043Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.043Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.043Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.043Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.043Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.043Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] """
[2024-06-23T21:30:38.043Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.043Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.043Z] elements drawn on the canvas.
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.043Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.043Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.043Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.043Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.043Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.043Z] interactive performance.
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.043Z] to the graph:
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.043Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.043Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.043Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.043Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.043Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.043Z] themselves.
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.043Z] of how to use transforms.
[2024-06-23T21:30:38.043Z] """
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.043Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.043Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] import copy
[2024-06-23T21:30:38.043Z] import functools
[2024-06-23T21:30:38.043Z] import textwrap
[2024-06-23T21:30:38.043Z] import weakref
[2024-06-23T21:30:38.043Z] import math
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] import numpy as np
[2024-06-23T21:30:38.043Z] from numpy.linalg import inv
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] from matplotlib import _api
[2024-06-23T21:30:38.043Z] > from matplotlib._path import (
[2024-06-23T21:30:38.043Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.043Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.043Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.043Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.043Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.043Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.043Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.043Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.043Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.043Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.043Z] code = main()
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.043Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.043Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.043Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.043Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.043Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.043Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.043Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.043Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.043Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.043Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.043Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.043Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.043Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.043Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.043Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.043Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.043Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.043Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.043Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.043Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.043Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.043Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.043Z] item.runtest()
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.043Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.043Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.043Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.043Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.043Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.043Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 434, in test_lines_random_chunk_threads
[2024-06-23T21:30:38.043Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.043Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.043Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.043Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.043Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.043Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.043Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.043Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.043Z] from matplotlib._path import (
[2024-06-23T21:30:38.043Z] Traceback (most recent call last):
[2024-06-23T21:30:38.043Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.043Z] raise ImportError(msg)
[2024-06-23T21:30:38.043Z] ImportError:
[2024-06-23T21:30:38.043Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.043Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.043Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.043Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.043Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.043Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] ____________ test_lines_random_no_corner_mask[mpl2005-SeparateCode] ____________
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] name = 'mpl2005', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.043Z]
[2024-06-23T21:30:38.043Z] @pytest.mark.image
[2024-06-23T21:30:38.044Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.044Z] def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.044Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] tests/test_lines.py:461:
[2024-06-23T21:30:38.044Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.044Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.044Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.044Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.044Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.044Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.044Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.044Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.044Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.044Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.044Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.044Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.044Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.044Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] """
[2024-06-23T21:30:38.044Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.044Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.044Z] elements drawn on the canvas.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.044Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.044Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.044Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.044Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.044Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.044Z] interactive performance.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.044Z] to the graph:
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.044Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.044Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.044Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.044Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.044Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.044Z] themselves.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.044Z] of how to use transforms.
[2024-06-23T21:30:38.044Z] """
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.044Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.044Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] import copy
[2024-06-23T21:30:38.044Z] import functools
[2024-06-23T21:30:38.044Z] import textwrap
[2024-06-23T21:30:38.044Z] import weakref
[2024-06-23T21:30:38.044Z] import math
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] import numpy as np
[2024-06-23T21:30:38.044Z] from numpy.linalg import inv
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] from matplotlib import _api
[2024-06-23T21:30:38.044Z] > from matplotlib._path import (
[2024-06-23T21:30:38.044Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.044Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.044Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.044Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.044Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.044Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.044Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.044Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.044Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.044Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.044Z] code = main()
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.044Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.044Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.044Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.044Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.044Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.044Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.044Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.044Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.044Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.044Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.044Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.044Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.044Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.044Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.044Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.044Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.044Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.044Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.044Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.044Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.044Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.044Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.044Z] item.runtest()
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.044Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.044Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.044Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.044Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.044Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.044Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 461, in test_lines_random_no_corner_mask
[2024-06-23T21:30:38.044Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.044Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.044Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.044Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.044Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.044Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.044Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.044Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.044Z] from matplotlib._path import (
[2024-06-23T21:30:38.044Z] Traceback (most recent call last):
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.044Z] raise ImportError(msg)
[2024-06-23T21:30:38.044Z] ImportError:
[2024-06-23T21:30:38.044Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.044Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.044Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.044Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.044Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.044Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] ____________ test_lines_random_no_corner_mask[mpl2014-SeparateCode] ____________
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] name = 'mpl2014', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] @pytest.mark.image
[2024-06-23T21:30:38.044Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.044Z] def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.044Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] tests/test_lines.py:461:
[2024-06-23T21:30:38.044Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.044Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.044Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.044Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.044Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.044Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.044Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.044Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.044Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.044Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.044Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.044Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.044Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.044Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] """
[2024-06-23T21:30:38.044Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.044Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.044Z] elements drawn on the canvas.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.044Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.044Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.044Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.044Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.044Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.044Z] interactive performance.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.044Z] to the graph:
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.044Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.044Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.044Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.044Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.044Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.044Z] themselves.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.044Z] of how to use transforms.
[2024-06-23T21:30:38.044Z] """
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.044Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.044Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] import copy
[2024-06-23T21:30:38.044Z] import functools
[2024-06-23T21:30:38.044Z] import textwrap
[2024-06-23T21:30:38.044Z] import weakref
[2024-06-23T21:30:38.044Z] import math
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] import numpy as np
[2024-06-23T21:30:38.044Z] from numpy.linalg import inv
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] from matplotlib import _api
[2024-06-23T21:30:38.044Z] > from matplotlib._path import (
[2024-06-23T21:30:38.044Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.044Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.044Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.044Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.044Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.044Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.044Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.044Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.044Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.044Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.044Z] code = main()
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.044Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.044Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.044Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.044Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.044Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.044Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.044Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.044Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.044Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.044Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.044Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.044Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.044Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.044Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.044Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.044Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.044Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.044Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.044Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.044Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.044Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.044Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.044Z] item.runtest()
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.044Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.044Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.044Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.044Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.044Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.044Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 461, in test_lines_random_no_corner_mask
[2024-06-23T21:30:38.044Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.044Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.044Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.044Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.044Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.044Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.044Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.044Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.044Z] from matplotlib._path import (
[2024-06-23T21:30:38.044Z] Traceback (most recent call last):
[2024-06-23T21:30:38.044Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.044Z] raise ImportError(msg)
[2024-06-23T21:30:38.044Z] ImportError:
[2024-06-23T21:30:38.044Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.044Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.044Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.044Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.044Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.044Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] ______________ test_lines_random_no_corner_mask[serial-Separate] _______________
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] name = 'serial', line_type = <LineType.Separate: 101>
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] @pytest.mark.image
[2024-06-23T21:30:38.044Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.044Z] def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.044Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] tests/test_lines.py:461:
[2024-06-23T21:30:38.044Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.044Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.044Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.044Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.044Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.044Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.044Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.044Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.044Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.044Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.044Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.044Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.044Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.044Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] """
[2024-06-23T21:30:38.044Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.044Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.044Z] elements drawn on the canvas.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.044Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.044Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.044Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.044Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.044Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.044Z] interactive performance.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.044Z] to the graph:
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.044Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.044Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.044Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.044Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.044Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.044Z] themselves.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.044Z] of how to use transforms.
[2024-06-23T21:30:38.044Z] """
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.044Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.044Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] import copy
[2024-06-23T21:30:38.044Z] import functools
[2024-06-23T21:30:38.044Z] import textwrap
[2024-06-23T21:30:38.044Z] import weakref
[2024-06-23T21:30:38.044Z] import math
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] import numpy as np
[2024-06-23T21:30:38.044Z] from numpy.linalg import inv
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] from matplotlib import _api
[2024-06-23T21:30:38.044Z] > from matplotlib._path import (
[2024-06-23T21:30:38.044Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.044Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.044Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.044Z]
[2024-06-23T21:30:38.044Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.044Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.044Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.045Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.045Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.045Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.045Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.045Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.045Z] code = main()
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.045Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.045Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.045Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.045Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.045Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.045Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.045Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.045Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.045Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.045Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.045Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.045Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.045Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.045Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.045Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.045Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.045Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.045Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.045Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.045Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.045Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.045Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.045Z] item.runtest()
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.045Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.045Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.045Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.045Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.045Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.045Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 461, in test_lines_random_no_corner_mask
[2024-06-23T21:30:38.045Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.045Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.045Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.045Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.045Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.045Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.045Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.045Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.045Z] from matplotlib._path import (
[2024-06-23T21:30:38.045Z] Traceback (most recent call last):
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.045Z] raise ImportError(msg)
[2024-06-23T21:30:38.045Z] ImportError:
[2024-06-23T21:30:38.045Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.045Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.045Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.045Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.045Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.045Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] ____________ test_lines_random_no_corner_mask[serial-SeparateCode] _____________
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] name = 'serial', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] @pytest.mark.image
[2024-06-23T21:30:38.045Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.045Z] def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.045Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] tests/test_lines.py:461:
[2024-06-23T21:30:38.045Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.045Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.045Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.045Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.045Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.045Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.045Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.045Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.045Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.045Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.045Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.045Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.045Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.045Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] """
[2024-06-23T21:30:38.045Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.045Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.045Z] elements drawn on the canvas.
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.045Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.045Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.045Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.045Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.045Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.045Z] interactive performance.
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.045Z] to the graph:
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.045Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.045Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.045Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.045Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.045Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.045Z] themselves.
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.045Z] of how to use transforms.
[2024-06-23T21:30:38.045Z] """
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.045Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.045Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] import copy
[2024-06-23T21:30:38.045Z] import functools
[2024-06-23T21:30:38.045Z] import textwrap
[2024-06-23T21:30:38.045Z] import weakref
[2024-06-23T21:30:38.045Z] import math
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] import numpy as np
[2024-06-23T21:30:38.045Z] from numpy.linalg import inv
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] from matplotlib import _api
[2024-06-23T21:30:38.045Z] > from matplotlib._path import (
[2024-06-23T21:30:38.045Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.045Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.045Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.045Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.045Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.045Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.045Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.045Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.045Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.045Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.045Z] code = main()
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.045Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.045Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.045Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.045Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.045Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.045Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.045Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.045Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.045Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.045Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.045Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.045Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.045Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.045Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.045Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.045Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.045Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.045Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.045Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.045Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.045Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.045Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.045Z] item.runtest()
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.045Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.045Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.045Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.045Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.045Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.045Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 461, in test_lines_random_no_corner_mask
[2024-06-23T21:30:38.045Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.045Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.045Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.045Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.045Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.045Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.045Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.045Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.045Z] from matplotlib._path import (
[2024-06-23T21:30:38.045Z] Traceback (most recent call last):
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.045Z] raise ImportError(msg)
[2024-06-23T21:30:38.045Z] ImportError:
[2024-06-23T21:30:38.045Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.045Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.045Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.045Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.045Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.045Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] __________ test_lines_random_no_corner_mask[serial-ChunkCombinedCode] __________
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] name = 'serial', line_type = <LineType.ChunkCombinedCode: 103>
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] @pytest.mark.image
[2024-06-23T21:30:38.045Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.045Z] def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.045Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] tests/test_lines.py:461:
[2024-06-23T21:30:38.045Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.045Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.045Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.045Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.045Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.045Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.045Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.045Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.045Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.045Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.045Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.045Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.045Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.045Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] """
[2024-06-23T21:30:38.045Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.045Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.045Z] elements drawn on the canvas.
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.045Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.045Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.045Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.045Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.045Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.045Z] interactive performance.
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.045Z] to the graph:
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.045Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.045Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.045Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.045Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.045Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.045Z] themselves.
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.045Z] of how to use transforms.
[2024-06-23T21:30:38.045Z] """
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.045Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.045Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] import copy
[2024-06-23T21:30:38.045Z] import functools
[2024-06-23T21:30:38.045Z] import textwrap
[2024-06-23T21:30:38.045Z] import weakref
[2024-06-23T21:30:38.045Z] import math
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] import numpy as np
[2024-06-23T21:30:38.045Z] from numpy.linalg import inv
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] from matplotlib import _api
[2024-06-23T21:30:38.045Z] > from matplotlib._path import (
[2024-06-23T21:30:38.045Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.045Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.045Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.045Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.045Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.045Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.045Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.045Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.045Z]
[2024-06-23T21:30:38.045Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.045Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.045Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.045Z] code = main()
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.045Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.045Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.045Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.045Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.045Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.045Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.045Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.045Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.045Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.045Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.045Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.045Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.045Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.045Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.045Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.045Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.045Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.045Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.046Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.046Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.046Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.046Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.046Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.046Z] item.runtest()
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.046Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.046Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.046Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.046Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.046Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.046Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 461, in test_lines_random_no_corner_mask
[2024-06-23T21:30:38.046Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.046Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.046Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.046Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.046Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.046Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.046Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.046Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.046Z] from matplotlib._path import (
[2024-06-23T21:30:38.046Z] Traceback (most recent call last):
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.046Z] raise ImportError(msg)
[2024-06-23T21:30:38.046Z] ImportError:
[2024-06-23T21:30:38.046Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.046Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.046Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.046Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.046Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.046Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] _________ test_lines_random_no_corner_mask[serial-ChunkCombinedOffset] _________
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] name = 'serial', line_type = <LineType.ChunkCombinedOffset: 104>
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] @pytest.mark.image
[2024-06-23T21:30:38.046Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.046Z] def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.046Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] tests/test_lines.py:461:
[2024-06-23T21:30:38.046Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.046Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.046Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.046Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.046Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.046Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.046Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.046Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.046Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.046Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.046Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.046Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.046Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.046Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] """
[2024-06-23T21:30:38.046Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.046Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.046Z] elements drawn on the canvas.
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.046Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.046Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.046Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.046Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.046Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.046Z] interactive performance.
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.046Z] to the graph:
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.046Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.046Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.046Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.046Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.046Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.046Z] themselves.
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.046Z] of how to use transforms.
[2024-06-23T21:30:38.046Z] """
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.046Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.046Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] import copy
[2024-06-23T21:30:38.046Z] import functools
[2024-06-23T21:30:38.046Z] import textwrap
[2024-06-23T21:30:38.046Z] import weakref
[2024-06-23T21:30:38.046Z] import math
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] import numpy as np
[2024-06-23T21:30:38.046Z] from numpy.linalg import inv
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] from matplotlib import _api
[2024-06-23T21:30:38.046Z] > from matplotlib._path import (
[2024-06-23T21:30:38.046Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.046Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.046Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.046Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.046Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.046Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.046Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.046Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.046Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.046Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.046Z] code = main()
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.046Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.046Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.046Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.046Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.046Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.046Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.046Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.046Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.046Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.046Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.046Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.046Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.046Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.046Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.046Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.046Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.046Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.046Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.046Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.046Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.046Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.046Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.046Z] item.runtest()
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.046Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.046Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.046Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.046Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.046Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.046Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 461, in test_lines_random_no_corner_mask
[2024-06-23T21:30:38.046Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.046Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.046Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.046Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.046Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.046Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.046Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.046Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.046Z] from matplotlib._path import (
[2024-06-23T21:30:38.046Z] Traceback (most recent call last):
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.046Z] raise ImportError(msg)
[2024-06-23T21:30:38.046Z] ImportError:
[2024-06-23T21:30:38.046Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.046Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.046Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.046Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.046Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.046Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] __________ test_lines_random_no_corner_mask[serial-ChunkCombinedNan] ___________
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] name = 'serial', line_type = <LineType.ChunkCombinedNan: 105>
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] @pytest.mark.image
[2024-06-23T21:30:38.046Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.046Z] def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.046Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] tests/test_lines.py:461:
[2024-06-23T21:30:38.046Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.046Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.046Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.046Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.046Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.046Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.046Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.046Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.046Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.046Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.046Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.046Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.046Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.046Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] """
[2024-06-23T21:30:38.046Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.046Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.046Z] elements drawn on the canvas.
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.046Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.046Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.046Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.046Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.046Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.046Z] interactive performance.
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.046Z] to the graph:
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.046Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.046Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.046Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.046Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.046Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.046Z] themselves.
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.046Z] of how to use transforms.
[2024-06-23T21:30:38.046Z] """
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.046Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.046Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] import copy
[2024-06-23T21:30:38.046Z] import functools
[2024-06-23T21:30:38.046Z] import textwrap
[2024-06-23T21:30:38.046Z] import weakref
[2024-06-23T21:30:38.046Z] import math
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] import numpy as np
[2024-06-23T21:30:38.046Z] from numpy.linalg import inv
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] from matplotlib import _api
[2024-06-23T21:30:38.046Z] > from matplotlib._path import (
[2024-06-23T21:30:38.046Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.046Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.046Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.046Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.046Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.046Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.046Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.046Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.046Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.046Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.046Z] code = main()
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.046Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.046Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.046Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.046Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.046Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.046Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.046Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.046Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.046Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.046Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.046Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.046Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.046Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.046Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.046Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.046Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.046Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.046Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.046Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.046Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.046Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.046Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.046Z] item.runtest()
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.046Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.046Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.046Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.046Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.046Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.046Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 461, in test_lines_random_no_corner_mask
[2024-06-23T21:30:38.046Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.046Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.046Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.046Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.046Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.046Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.046Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.046Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.046Z] from matplotlib._path import (
[2024-06-23T21:30:38.046Z] Traceback (most recent call last):
[2024-06-23T21:30:38.046Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.046Z] raise ImportError(msg)
[2024-06-23T21:30:38.046Z] ImportError:
[2024-06-23T21:30:38.046Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.046Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.046Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.046Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.046Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.046Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] _____________ test_lines_random_no_corner_mask[threaded-Separate] ______________
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] name = 'threaded', line_type = <LineType.Separate: 101>
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] @pytest.mark.image
[2024-06-23T21:30:38.046Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.046Z] def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.046Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.046Z]
[2024-06-23T21:30:38.046Z] tests/test_lines.py:461:
[2024-06-23T21:30:38.046Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.046Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.046Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.046Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.047Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.047Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.047Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.047Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.047Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.047Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.047Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.047Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.047Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.047Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] """
[2024-06-23T21:30:38.047Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.047Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.047Z] elements drawn on the canvas.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.047Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.047Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.047Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.047Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.047Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.047Z] interactive performance.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.047Z] to the graph:
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.047Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.047Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.047Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.047Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.047Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.047Z] themselves.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.047Z] of how to use transforms.
[2024-06-23T21:30:38.047Z] """
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.047Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.047Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] import copy
[2024-06-23T21:30:38.047Z] import functools
[2024-06-23T21:30:38.047Z] import textwrap
[2024-06-23T21:30:38.047Z] import weakref
[2024-06-23T21:30:38.047Z] import math
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] import numpy as np
[2024-06-23T21:30:38.047Z] from numpy.linalg import inv
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] from matplotlib import _api
[2024-06-23T21:30:38.047Z] > from matplotlib._path import (
[2024-06-23T21:30:38.047Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.047Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.047Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.047Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.047Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.047Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.047Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.047Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.047Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.047Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.047Z] code = main()
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.047Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.047Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.047Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.047Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.047Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.047Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.047Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.047Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.047Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.047Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.047Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.047Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.047Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.047Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.047Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.047Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.047Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.047Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.047Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.047Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.047Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.047Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.047Z] item.runtest()
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.047Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.047Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.047Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.047Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.047Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.047Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 461, in test_lines_random_no_corner_mask
[2024-06-23T21:30:38.047Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.047Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.047Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.047Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.047Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.047Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.047Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.047Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.047Z] from matplotlib._path import (
[2024-06-23T21:30:38.047Z] Traceback (most recent call last):
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.047Z] raise ImportError(msg)
[2024-06-23T21:30:38.047Z] ImportError:
[2024-06-23T21:30:38.047Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.047Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.047Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.047Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.047Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.047Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] ___________ test_lines_random_no_corner_mask[threaded-SeparateCode] ____________
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] name = 'threaded', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] @pytest.mark.image
[2024-06-23T21:30:38.047Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.047Z] def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.047Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] tests/test_lines.py:461:
[2024-06-23T21:30:38.047Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.047Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.047Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.047Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.047Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.047Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.047Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.047Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.047Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.047Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.047Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.047Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.047Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.047Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] """
[2024-06-23T21:30:38.047Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.047Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.047Z] elements drawn on the canvas.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.047Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.047Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.047Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.047Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.047Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.047Z] interactive performance.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.047Z] to the graph:
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.047Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.047Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.047Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.047Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.047Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.047Z] themselves.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.047Z] of how to use transforms.
[2024-06-23T21:30:38.047Z] """
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.047Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.047Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] import copy
[2024-06-23T21:30:38.047Z] import functools
[2024-06-23T21:30:38.047Z] import textwrap
[2024-06-23T21:30:38.047Z] import weakref
[2024-06-23T21:30:38.047Z] import math
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] import numpy as np
[2024-06-23T21:30:38.047Z] from numpy.linalg import inv
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] from matplotlib import _api
[2024-06-23T21:30:38.047Z] > from matplotlib._path import (
[2024-06-23T21:30:38.047Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.047Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.047Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.047Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.047Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.047Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.047Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.047Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.047Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.047Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.047Z] code = main()
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.047Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.047Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.047Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.047Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.047Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.047Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.047Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.047Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.047Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.047Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.047Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.047Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.047Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.047Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.047Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.047Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.047Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.047Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.047Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.047Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.047Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.047Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.047Z] item.runtest()
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.047Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.047Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.047Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.047Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.047Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.047Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 461, in test_lines_random_no_corner_mask
[2024-06-23T21:30:38.047Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.047Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.047Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.047Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.047Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.047Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.047Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.047Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.047Z] from matplotlib._path import (
[2024-06-23T21:30:38.047Z] Traceback (most recent call last):
[2024-06-23T21:30:38.047Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.047Z] raise ImportError(msg)
[2024-06-23T21:30:38.047Z] ImportError:
[2024-06-23T21:30:38.047Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.047Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.047Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.047Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.047Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.047Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] _________ test_lines_random_no_corner_mask[threaded-ChunkCombinedCode] _________
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] name = 'threaded', line_type = <LineType.ChunkCombinedCode: 103>
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] @pytest.mark.image
[2024-06-23T21:30:38.047Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.047Z] def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.047Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] tests/test_lines.py:461:
[2024-06-23T21:30:38.047Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.047Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.047Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.047Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.047Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.047Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.047Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.047Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.047Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.047Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.047Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.047Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.047Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.047Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] """
[2024-06-23T21:30:38.047Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.047Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.047Z] elements drawn on the canvas.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.047Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.047Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.047Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.047Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.047Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.047Z] interactive performance.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.047Z] to the graph:
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.047Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.047Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.047Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.047Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.047Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.047Z] themselves.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.047Z] of how to use transforms.
[2024-06-23T21:30:38.047Z] """
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.047Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.047Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] import copy
[2024-06-23T21:30:38.047Z] import functools
[2024-06-23T21:30:38.047Z] import textwrap
[2024-06-23T21:30:38.047Z] import weakref
[2024-06-23T21:30:38.047Z] import math
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] import numpy as np
[2024-06-23T21:30:38.047Z] from numpy.linalg import inv
[2024-06-23T21:30:38.047Z]
[2024-06-23T21:30:38.047Z] from matplotlib import _api
[2024-06-23T21:30:38.047Z] > from matplotlib._path import (
[2024-06-23T21:30:38.048Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.048Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.048Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.048Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.048Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.048Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.048Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.048Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.048Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.048Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.048Z] code = main()
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.048Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.048Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.048Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.048Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.048Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.048Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.048Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.048Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.048Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.048Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.048Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.048Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.048Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.048Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.048Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.048Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.048Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.048Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.048Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.048Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.048Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.048Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.048Z] item.runtest()
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.048Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.048Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.048Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.048Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.048Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.048Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 461, in test_lines_random_no_corner_mask
[2024-06-23T21:30:38.048Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.048Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.048Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.048Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.048Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.048Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.048Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.048Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.048Z] from matplotlib._path import (
[2024-06-23T21:30:38.048Z] Traceback (most recent call last):
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.048Z] raise ImportError(msg)
[2024-06-23T21:30:38.048Z] ImportError:
[2024-06-23T21:30:38.048Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.048Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.048Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.048Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.048Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.048Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] ________ test_lines_random_no_corner_mask[threaded-ChunkCombinedOffset] ________
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] name = 'threaded', line_type = <LineType.ChunkCombinedOffset: 104>
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] @pytest.mark.image
[2024-06-23T21:30:38.048Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.048Z] def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.048Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] tests/test_lines.py:461:
[2024-06-23T21:30:38.048Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.048Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.048Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.048Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.048Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.048Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.048Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.048Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.048Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.048Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.048Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.048Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.048Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.048Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] """
[2024-06-23T21:30:38.048Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.048Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.048Z] elements drawn on the canvas.
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.048Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.048Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.048Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.048Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.048Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.048Z] interactive performance.
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.048Z] to the graph:
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.048Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.048Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.048Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.048Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.048Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.048Z] themselves.
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.048Z] of how to use transforms.
[2024-06-23T21:30:38.048Z] """
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.048Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.048Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] import copy
[2024-06-23T21:30:38.048Z] import functools
[2024-06-23T21:30:38.048Z] import textwrap
[2024-06-23T21:30:38.048Z] import weakref
[2024-06-23T21:30:38.048Z] import math
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] import numpy as np
[2024-06-23T21:30:38.048Z] from numpy.linalg import inv
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] from matplotlib import _api
[2024-06-23T21:30:38.048Z] > from matplotlib._path import (
[2024-06-23T21:30:38.048Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.048Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.048Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.048Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.048Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.048Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.048Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.048Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.048Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.048Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.048Z] code = main()
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.048Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.048Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.048Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.048Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.048Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.048Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.048Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.048Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.048Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.048Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.048Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.048Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.048Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.048Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.048Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.048Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.048Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.048Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.048Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.048Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.048Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.048Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.048Z] item.runtest()
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.048Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.048Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.048Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.048Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.048Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.048Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 461, in test_lines_random_no_corner_mask
[2024-06-23T21:30:38.048Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.048Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.048Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.048Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.048Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.048Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.048Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.048Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.048Z] from matplotlib._path import (
[2024-06-23T21:30:38.048Z] Traceback (most recent call last):
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.048Z] raise ImportError(msg)
[2024-06-23T21:30:38.048Z] ImportError:
[2024-06-23T21:30:38.048Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.048Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.048Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.048Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.048Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.048Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] _________ test_lines_random_no_corner_mask[threaded-ChunkCombinedNan] __________
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] name = 'threaded', line_type = <LineType.ChunkCombinedNan: 105>
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] @pytest.mark.image
[2024-06-23T21:30:38.048Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.048Z] def test_lines_random_no_corner_mask(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.048Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] tests/test_lines.py:461:
[2024-06-23T21:30:38.048Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.048Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.048Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.048Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.048Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.048Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.048Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.048Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.048Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.048Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.048Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.048Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.048Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.048Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] """
[2024-06-23T21:30:38.048Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.048Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.048Z] elements drawn on the canvas.
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.048Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.048Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.048Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.048Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.048Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.048Z] interactive performance.
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.048Z] to the graph:
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.048Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.048Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.048Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.048Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.048Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.048Z] themselves.
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.048Z] of how to use transforms.
[2024-06-23T21:30:38.048Z] """
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.048Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.048Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] import copy
[2024-06-23T21:30:38.048Z] import functools
[2024-06-23T21:30:38.048Z] import textwrap
[2024-06-23T21:30:38.048Z] import weakref
[2024-06-23T21:30:38.048Z] import math
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] import numpy as np
[2024-06-23T21:30:38.048Z] from numpy.linalg import inv
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] from matplotlib import _api
[2024-06-23T21:30:38.048Z] > from matplotlib._path import (
[2024-06-23T21:30:38.048Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.048Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.048Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.048Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.048Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.048Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.048Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.048Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.048Z]
[2024-06-23T21:30:38.048Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.048Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.048Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.048Z] code = main()
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.048Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.048Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.048Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.048Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.048Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.048Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.048Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.048Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.048Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.048Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.048Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.048Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.048Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.048Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.048Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.048Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.048Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.048Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.048Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.048Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.048Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.048Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.049Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.049Z] item.runtest()
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.049Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.049Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.049Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.049Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.049Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.049Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 461, in test_lines_random_no_corner_mask
[2024-06-23T21:30:38.049Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.049Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.049Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.049Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.049Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.049Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.049Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.049Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.049Z] from matplotlib._path import (
[2024-06-23T21:30:38.049Z] Traceback (most recent call last):
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.049Z] raise ImportError(msg)
[2024-06-23T21:30:38.049Z] ImportError:
[2024-06-23T21:30:38.049Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.049Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.049Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.049Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.049Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.049Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] _________ test_lines_random_no_corner_mask_chunk[mpl2005-SeparateCode] _________
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] name = 'mpl2005', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] @pytest.mark.image
[2024-06-23T21:30:38.049Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.049Z] def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.049Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] tests/test_lines.py:484:
[2024-06-23T21:30:38.049Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.049Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.049Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.049Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.049Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.049Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.049Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.049Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.049Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.049Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.049Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.049Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.049Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.049Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] """
[2024-06-23T21:30:38.049Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.049Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.049Z] elements drawn on the canvas.
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.049Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.049Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.049Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.049Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.049Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.049Z] interactive performance.
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.049Z] to the graph:
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.049Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.049Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.049Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.049Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.049Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.049Z] themselves.
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.049Z] of how to use transforms.
[2024-06-23T21:30:38.049Z] """
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.049Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.049Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] import copy
[2024-06-23T21:30:38.049Z] import functools
[2024-06-23T21:30:38.049Z] import textwrap
[2024-06-23T21:30:38.049Z] import weakref
[2024-06-23T21:30:38.049Z] import math
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] import numpy as np
[2024-06-23T21:30:38.049Z] from numpy.linalg import inv
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] from matplotlib import _api
[2024-06-23T21:30:38.049Z] > from matplotlib._path import (
[2024-06-23T21:30:38.049Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.049Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.049Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.049Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.049Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.049Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.049Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.049Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.049Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.049Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.049Z] code = main()
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.049Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.049Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.049Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.049Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.049Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.049Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.049Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.049Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.049Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.049Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.049Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.049Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.049Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.049Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.049Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.049Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.049Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.049Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.049Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.049Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.049Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.049Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.049Z] item.runtest()
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.049Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.049Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.049Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.049Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.049Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.049Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 484, in test_lines_random_no_corner_mask_chunk
[2024-06-23T21:30:38.049Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.049Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.049Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.049Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.049Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.049Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.049Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.049Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.049Z] from matplotlib._path import (
[2024-06-23T21:30:38.049Z] Traceback (most recent call last):
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.049Z] raise ImportError(msg)
[2024-06-23T21:30:38.049Z] ImportError:
[2024-06-23T21:30:38.049Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.049Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.049Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.049Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.049Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.049Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] _________ test_lines_random_no_corner_mask_chunk[mpl2014-SeparateCode] _________
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] name = 'mpl2014', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] @pytest.mark.image
[2024-06-23T21:30:38.049Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.049Z] def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.049Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] tests/test_lines.py:484:
[2024-06-23T21:30:38.049Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.049Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.049Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.049Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.049Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.049Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.049Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.049Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.049Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.049Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.049Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.049Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.049Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.049Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] """
[2024-06-23T21:30:38.049Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.049Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.049Z] elements drawn on the canvas.
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.049Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.049Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.049Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.049Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.049Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.049Z] interactive performance.
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.049Z] to the graph:
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.049Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.049Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.049Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.049Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.049Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.049Z] themselves.
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.049Z] of how to use transforms.
[2024-06-23T21:30:38.049Z] """
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.049Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.049Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] import copy
[2024-06-23T21:30:38.049Z] import functools
[2024-06-23T21:30:38.049Z] import textwrap
[2024-06-23T21:30:38.049Z] import weakref
[2024-06-23T21:30:38.049Z] import math
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] import numpy as np
[2024-06-23T21:30:38.049Z] from numpy.linalg import inv
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] from matplotlib import _api
[2024-06-23T21:30:38.049Z] > from matplotlib._path import (
[2024-06-23T21:30:38.049Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.049Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.049Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.049Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.049Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.049Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.049Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.049Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.049Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.049Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.049Z] code = main()
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.049Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.049Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.049Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.049Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.049Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.049Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.049Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.049Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.049Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.049Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.049Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.049Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.049Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.049Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.049Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.049Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.049Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.049Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.049Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.049Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.049Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.049Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.049Z] item.runtest()
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.049Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.049Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.049Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.049Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.049Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.049Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 484, in test_lines_random_no_corner_mask_chunk
[2024-06-23T21:30:38.049Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.049Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.049Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.049Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.049Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.049Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.049Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.049Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.049Z] from matplotlib._path import (
[2024-06-23T21:30:38.049Z] Traceback (most recent call last):
[2024-06-23T21:30:38.049Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.049Z] raise ImportError(msg)
[2024-06-23T21:30:38.049Z] ImportError:
[2024-06-23T21:30:38.049Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.049Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.049Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.049Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.049Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.049Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.049Z] ___________ test_lines_random_no_corner_mask_chunk[serial-Separate] ____________
[2024-06-23T21:30:38.049Z]
[2024-06-23T21:30:38.050Z] name = 'serial', line_type = <LineType.Separate: 101>
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] @pytest.mark.image
[2024-06-23T21:30:38.050Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.050Z] def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.050Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] tests/test_lines.py:484:
[2024-06-23T21:30:38.050Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.050Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.050Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.050Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.050Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.050Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.050Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.050Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.050Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.050Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.050Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.050Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.050Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.050Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] """
[2024-06-23T21:30:38.050Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.050Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.050Z] elements drawn on the canvas.
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.050Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.050Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.050Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.050Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.050Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.050Z] interactive performance.
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.050Z] to the graph:
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.050Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.050Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.050Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.050Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.050Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.050Z] themselves.
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.050Z] of how to use transforms.
[2024-06-23T21:30:38.050Z] """
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.050Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.050Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] import copy
[2024-06-23T21:30:38.050Z] import functools
[2024-06-23T21:30:38.050Z] import textwrap
[2024-06-23T21:30:38.050Z] import weakref
[2024-06-23T21:30:38.050Z] import math
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] import numpy as np
[2024-06-23T21:30:38.050Z] from numpy.linalg import inv
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] from matplotlib import _api
[2024-06-23T21:30:38.050Z] > from matplotlib._path import (
[2024-06-23T21:30:38.050Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.050Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.050Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.050Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.050Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.050Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.050Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.050Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.050Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.050Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.050Z] code = main()
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.050Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.050Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.050Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.050Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.050Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.050Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.050Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.050Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.050Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.050Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.050Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.050Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.050Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.050Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.050Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.050Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.050Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.050Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.050Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.050Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.050Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.050Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.050Z] item.runtest()
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.050Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.050Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.050Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.050Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.050Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.050Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 484, in test_lines_random_no_corner_mask_chunk
[2024-06-23T21:30:38.050Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.050Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.050Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.050Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.050Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.050Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.050Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.050Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.050Z] from matplotlib._path import (
[2024-06-23T21:30:38.050Z] Traceback (most recent call last):
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.050Z] raise ImportError(msg)
[2024-06-23T21:30:38.050Z] ImportError:
[2024-06-23T21:30:38.050Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.050Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.050Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.050Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.050Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.050Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] _________ test_lines_random_no_corner_mask_chunk[serial-SeparateCode] __________
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] name = 'serial', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] @pytest.mark.image
[2024-06-23T21:30:38.050Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.050Z] def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.050Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] tests/test_lines.py:484:
[2024-06-23T21:30:38.050Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.050Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.050Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.050Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.050Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.050Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.050Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.050Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.050Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.050Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.050Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.050Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.050Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.050Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] """
[2024-06-23T21:30:38.050Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.050Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.050Z] elements drawn on the canvas.
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.050Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.050Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.050Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.050Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.050Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.050Z] interactive performance.
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.050Z] to the graph:
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.050Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.050Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.050Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.050Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.050Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.050Z] themselves.
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.050Z] of how to use transforms.
[2024-06-23T21:30:38.050Z] """
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.050Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.050Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] import copy
[2024-06-23T21:30:38.050Z] import functools
[2024-06-23T21:30:38.050Z] import textwrap
[2024-06-23T21:30:38.050Z] import weakref
[2024-06-23T21:30:38.050Z] import math
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] import numpy as np
[2024-06-23T21:30:38.050Z] from numpy.linalg import inv
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] from matplotlib import _api
[2024-06-23T21:30:38.050Z] > from matplotlib._path import (
[2024-06-23T21:30:38.050Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.050Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.050Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.050Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.050Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.050Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.050Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.050Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.050Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.050Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.050Z] code = main()
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.050Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.050Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.050Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.050Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.050Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.050Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.050Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.050Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.050Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.050Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.050Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.050Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.050Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.050Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.050Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.050Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.050Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.050Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.050Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.050Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.050Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.050Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.050Z] item.runtest()
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.050Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.050Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.050Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.050Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.050Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.050Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 484, in test_lines_random_no_corner_mask_chunk
[2024-06-23T21:30:38.050Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.050Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.050Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.050Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.050Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.050Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.050Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.050Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.050Z] from matplotlib._path import (
[2024-06-23T21:30:38.050Z] Traceback (most recent call last):
[2024-06-23T21:30:38.050Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.050Z] raise ImportError(msg)
[2024-06-23T21:30:38.050Z] ImportError:
[2024-06-23T21:30:38.050Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.050Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.050Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.050Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.050Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.050Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] _______ test_lines_random_no_corner_mask_chunk[serial-ChunkCombinedCode] _______
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] name = 'serial', line_type = <LineType.ChunkCombinedCode: 103>
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] @pytest.mark.image
[2024-06-23T21:30:38.050Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.050Z] def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.050Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] tests/test_lines.py:484:
[2024-06-23T21:30:38.050Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.050Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.050Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.050Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.050Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.050Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.050Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.050Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.050Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.050Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.050Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.050Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.050Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.050Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] """
[2024-06-23T21:30:38.050Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.050Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.050Z] elements drawn on the canvas.
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.050Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.050Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.050Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.050Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.050Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.050Z] interactive performance.
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.050Z] to the graph:
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.050Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.050Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.050Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.050Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.050Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.050Z] themselves.
[2024-06-23T21:30:38.050Z]
[2024-06-23T21:30:38.050Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.050Z] of how to use transforms.
[2024-06-23T21:30:38.050Z] """
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.051Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.051Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] import copy
[2024-06-23T21:30:38.051Z] import functools
[2024-06-23T21:30:38.051Z] import textwrap
[2024-06-23T21:30:38.051Z] import weakref
[2024-06-23T21:30:38.051Z] import math
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] import numpy as np
[2024-06-23T21:30:38.051Z] from numpy.linalg import inv
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] from matplotlib import _api
[2024-06-23T21:30:38.051Z] > from matplotlib._path import (
[2024-06-23T21:30:38.051Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.051Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.051Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.051Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.051Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.051Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.051Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.051Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.051Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.051Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.051Z] code = main()
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.051Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.051Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.051Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.051Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.051Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.051Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.051Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.051Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.051Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.051Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.051Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.051Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.051Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.051Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.051Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.051Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.051Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.051Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.051Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.051Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.051Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.051Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.051Z] item.runtest()
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.051Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.051Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.051Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.051Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.051Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.051Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 484, in test_lines_random_no_corner_mask_chunk
[2024-06-23T21:30:38.051Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.051Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.051Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.051Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.051Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.051Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.051Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.051Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.051Z] from matplotlib._path import (
[2024-06-23T21:30:38.051Z] Traceback (most recent call last):
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.051Z] raise ImportError(msg)
[2024-06-23T21:30:38.051Z] ImportError:
[2024-06-23T21:30:38.051Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.051Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.051Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.051Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.051Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.051Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] ______ test_lines_random_no_corner_mask_chunk[serial-ChunkCombinedOffset] ______
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] name = 'serial', line_type = <LineType.ChunkCombinedOffset: 104>
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] @pytest.mark.image
[2024-06-23T21:30:38.051Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.051Z] def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.051Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] tests/test_lines.py:484:
[2024-06-23T21:30:38.051Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.051Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.051Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.051Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.051Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.051Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.051Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.051Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.051Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.051Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.051Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.051Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.051Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.051Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] """
[2024-06-23T21:30:38.051Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.051Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.051Z] elements drawn on the canvas.
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.051Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.051Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.051Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.051Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.051Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.051Z] interactive performance.
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.051Z] to the graph:
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.051Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.051Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.051Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.051Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.051Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.051Z] themselves.
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.051Z] of how to use transforms.
[2024-06-23T21:30:38.051Z] """
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.051Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.051Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] import copy
[2024-06-23T21:30:38.051Z] import functools
[2024-06-23T21:30:38.051Z] import textwrap
[2024-06-23T21:30:38.051Z] import weakref
[2024-06-23T21:30:38.051Z] import math
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] import numpy as np
[2024-06-23T21:30:38.051Z] from numpy.linalg import inv
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] from matplotlib import _api
[2024-06-23T21:30:38.051Z] > from matplotlib._path import (
[2024-06-23T21:30:38.051Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.051Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.051Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.051Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.051Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.051Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.051Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.051Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.051Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.051Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.051Z] code = main()
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.051Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.051Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.051Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.051Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.051Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.051Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.051Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.051Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.051Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.051Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.051Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.051Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.051Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.051Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.051Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.051Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.051Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.051Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.051Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.051Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.051Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.051Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.051Z] item.runtest()
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.051Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.051Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.051Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.051Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.051Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.051Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 484, in test_lines_random_no_corner_mask_chunk
[2024-06-23T21:30:38.051Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.051Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.051Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.051Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.051Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.051Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.051Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.051Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.051Z] from matplotlib._path import (
[2024-06-23T21:30:38.051Z] Traceback (most recent call last):
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.051Z] raise ImportError(msg)
[2024-06-23T21:30:38.051Z] ImportError:
[2024-06-23T21:30:38.051Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.051Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.051Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.051Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.051Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.051Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] _______ test_lines_random_no_corner_mask_chunk[serial-ChunkCombinedNan] ________
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] name = 'serial', line_type = <LineType.ChunkCombinedNan: 105>
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] @pytest.mark.image
[2024-06-23T21:30:38.051Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.051Z] def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.051Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] tests/test_lines.py:484:
[2024-06-23T21:30:38.051Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.051Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.051Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.051Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.051Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.051Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.051Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.051Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.051Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.051Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.051Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.051Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.051Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.051Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] """
[2024-06-23T21:30:38.051Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.051Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.051Z] elements drawn on the canvas.
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.051Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.051Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.051Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.051Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.051Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.051Z] interactive performance.
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.051Z] to the graph:
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.051Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.051Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.051Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.051Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.051Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.051Z] themselves.
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.051Z] of how to use transforms.
[2024-06-23T21:30:38.051Z] """
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.051Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.051Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] import copy
[2024-06-23T21:30:38.051Z] import functools
[2024-06-23T21:30:38.051Z] import textwrap
[2024-06-23T21:30:38.051Z] import weakref
[2024-06-23T21:30:38.051Z] import math
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] import numpy as np
[2024-06-23T21:30:38.051Z] from numpy.linalg import inv
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] from matplotlib import _api
[2024-06-23T21:30:38.051Z] > from matplotlib._path import (
[2024-06-23T21:30:38.051Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.051Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.051Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.051Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.051Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.051Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.051Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.051Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.051Z]
[2024-06-23T21:30:38.051Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.051Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.051Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.051Z] code = main()
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.051Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.051Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.051Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.051Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.051Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.051Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.051Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.051Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.051Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.051Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.051Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.051Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.051Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.051Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.051Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.051Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.052Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.052Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.052Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.052Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.052Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.052Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.052Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.052Z] item.runtest()
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.052Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.052Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.052Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.052Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.052Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.052Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 484, in test_lines_random_no_corner_mask_chunk
[2024-06-23T21:30:38.052Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.052Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.052Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.052Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.052Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.052Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.052Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.052Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.052Z] from matplotlib._path import (
[2024-06-23T21:30:38.052Z] Traceback (most recent call last):
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.052Z] raise ImportError(msg)
[2024-06-23T21:30:38.052Z] ImportError:
[2024-06-23T21:30:38.052Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.052Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.052Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.052Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.052Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.052Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] __________ test_lines_random_no_corner_mask_chunk[threaded-Separate] ___________
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] name = 'threaded', line_type = <LineType.Separate: 101>
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] @pytest.mark.image
[2024-06-23T21:30:38.052Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.052Z] def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.052Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] tests/test_lines.py:484:
[2024-06-23T21:30:38.052Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.052Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.052Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.052Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.052Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.052Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.052Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.052Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.052Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.052Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.052Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.052Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.052Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.052Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] """
[2024-06-23T21:30:38.052Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.052Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.052Z] elements drawn on the canvas.
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.052Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.052Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.052Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.052Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.052Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.052Z] interactive performance.
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.052Z] to the graph:
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.052Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.052Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.052Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.052Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.052Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.052Z] themselves.
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.052Z] of how to use transforms.
[2024-06-23T21:30:38.052Z] """
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.052Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.052Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] import copy
[2024-06-23T21:30:38.052Z] import functools
[2024-06-23T21:30:38.052Z] import textwrap
[2024-06-23T21:30:38.052Z] import weakref
[2024-06-23T21:30:38.052Z] import math
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] import numpy as np
[2024-06-23T21:30:38.052Z] from numpy.linalg import inv
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] from matplotlib import _api
[2024-06-23T21:30:38.052Z] > from matplotlib._path import (
[2024-06-23T21:30:38.052Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.052Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.052Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.052Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.052Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.052Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.052Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.052Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.052Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.052Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.052Z] code = main()
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.052Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.052Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.052Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.052Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.052Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.052Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.052Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.052Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.052Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.052Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.052Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.052Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.052Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.052Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.052Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.052Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.052Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.052Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.052Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.052Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.052Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.052Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.052Z] item.runtest()
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.052Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.052Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.052Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.052Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.052Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.052Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 484, in test_lines_random_no_corner_mask_chunk
[2024-06-23T21:30:38.052Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.052Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.052Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.052Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.052Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.052Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.052Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.052Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.052Z] from matplotlib._path import (
[2024-06-23T21:30:38.052Z] Traceback (most recent call last):
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.052Z] raise ImportError(msg)
[2024-06-23T21:30:38.052Z] ImportError:
[2024-06-23T21:30:38.052Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.052Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.052Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.052Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.052Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.052Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] ________ test_lines_random_no_corner_mask_chunk[threaded-SeparateCode] _________
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] name = 'threaded', line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] @pytest.mark.image
[2024-06-23T21:30:38.052Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.052Z] def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.052Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] tests/test_lines.py:484:
[2024-06-23T21:30:38.052Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.052Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.052Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.052Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.052Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.052Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.052Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.052Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.052Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.052Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.052Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.052Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.052Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.052Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] """
[2024-06-23T21:30:38.052Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.052Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.052Z] elements drawn on the canvas.
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.052Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.052Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.052Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.052Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.052Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.052Z] interactive performance.
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.052Z] to the graph:
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.052Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.052Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.052Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.052Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.052Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.052Z] themselves.
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.052Z] of how to use transforms.
[2024-06-23T21:30:38.052Z] """
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.052Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.052Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] import copy
[2024-06-23T21:30:38.052Z] import functools
[2024-06-23T21:30:38.052Z] import textwrap
[2024-06-23T21:30:38.052Z] import weakref
[2024-06-23T21:30:38.052Z] import math
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] import numpy as np
[2024-06-23T21:30:38.052Z] from numpy.linalg import inv
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] from matplotlib import _api
[2024-06-23T21:30:38.052Z] > from matplotlib._path import (
[2024-06-23T21:30:38.052Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.052Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.052Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.052Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.052Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.052Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.052Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.052Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.052Z]
[2024-06-23T21:30:38.052Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.052Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.052Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.052Z] code = main()
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.052Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.052Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.052Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.052Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.052Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.052Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.052Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.052Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.052Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.052Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.052Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.052Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.052Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.052Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.052Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.052Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.052Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.052Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.052Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.052Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.052Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.052Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.052Z] item.runtest()
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.052Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.052Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.052Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.052Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.052Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.052Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 484, in test_lines_random_no_corner_mask_chunk
[2024-06-23T21:30:38.052Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.052Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.052Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.052Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.052Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.052Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.052Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.052Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.052Z] from matplotlib._path import (
[2024-06-23T21:30:38.052Z] Traceback (most recent call last):
[2024-06-23T21:30:38.052Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.052Z] raise ImportError(msg)
[2024-06-23T21:30:38.052Z] ImportError:
[2024-06-23T21:30:38.053Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.053Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.053Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.053Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.053Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.053Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] ______ test_lines_random_no_corner_mask_chunk[threaded-ChunkCombinedCode] ______
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] name = 'threaded', line_type = <LineType.ChunkCombinedCode: 103>
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] @pytest.mark.image
[2024-06-23T21:30:38.053Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.053Z] def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.053Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] tests/test_lines.py:484:
[2024-06-23T21:30:38.053Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.053Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.053Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.053Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.053Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.053Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.053Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.053Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.053Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.053Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.053Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.053Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.053Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.053Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] """
[2024-06-23T21:30:38.053Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.053Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.053Z] elements drawn on the canvas.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.053Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.053Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.053Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.053Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.053Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.053Z] interactive performance.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.053Z] to the graph:
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.053Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.053Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.053Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.053Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.053Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.053Z] themselves.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.053Z] of how to use transforms.
[2024-06-23T21:30:38.053Z] """
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.053Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.053Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] import copy
[2024-06-23T21:30:38.053Z] import functools
[2024-06-23T21:30:38.053Z] import textwrap
[2024-06-23T21:30:38.053Z] import weakref
[2024-06-23T21:30:38.053Z] import math
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] import numpy as np
[2024-06-23T21:30:38.053Z] from numpy.linalg import inv
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] from matplotlib import _api
[2024-06-23T21:30:38.053Z] > from matplotlib._path import (
[2024-06-23T21:30:38.053Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.053Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.053Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.053Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.053Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.053Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.053Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.053Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.053Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.053Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.053Z] code = main()
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.053Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.053Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.053Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.053Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.053Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.053Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.053Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.053Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.053Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.053Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.053Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.053Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.053Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.053Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.053Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.053Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.053Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.053Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.053Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.053Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.053Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.053Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.053Z] item.runtest()
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.053Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.053Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.053Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.053Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.053Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.053Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 484, in test_lines_random_no_corner_mask_chunk
[2024-06-23T21:30:38.053Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.053Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.053Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.053Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.053Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.053Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.053Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.053Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.053Z] from matplotlib._path import (
[2024-06-23T21:30:38.053Z] Traceback (most recent call last):
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.053Z] raise ImportError(msg)
[2024-06-23T21:30:38.053Z] ImportError:
[2024-06-23T21:30:38.053Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.053Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.053Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.053Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.053Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.053Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] _____ test_lines_random_no_corner_mask_chunk[threaded-ChunkCombinedOffset] _____
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] name = 'threaded', line_type = <LineType.ChunkCombinedOffset: 104>
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] @pytest.mark.image
[2024-06-23T21:30:38.053Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.053Z] def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.053Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] tests/test_lines.py:484:
[2024-06-23T21:30:38.053Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.053Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.053Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.053Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.053Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.053Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.053Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.053Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.053Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.053Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.053Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.053Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.053Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.053Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] """
[2024-06-23T21:30:38.053Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.053Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.053Z] elements drawn on the canvas.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.053Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.053Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.053Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.053Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.053Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.053Z] interactive performance.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.053Z] to the graph:
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.053Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.053Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.053Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.053Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.053Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.053Z] themselves.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.053Z] of how to use transforms.
[2024-06-23T21:30:38.053Z] """
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.053Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.053Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] import copy
[2024-06-23T21:30:38.053Z] import functools
[2024-06-23T21:30:38.053Z] import textwrap
[2024-06-23T21:30:38.053Z] import weakref
[2024-06-23T21:30:38.053Z] import math
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] import numpy as np
[2024-06-23T21:30:38.053Z] from numpy.linalg import inv
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] from matplotlib import _api
[2024-06-23T21:30:38.053Z] > from matplotlib._path import (
[2024-06-23T21:30:38.053Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.053Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.053Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.053Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.053Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.053Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.053Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.053Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.053Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.053Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.053Z] code = main()
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.053Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.053Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.053Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.053Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.053Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.053Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.053Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.053Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.053Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.053Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.053Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.053Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.053Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.053Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.053Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.053Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.053Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.053Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.053Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.053Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.053Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.053Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.053Z] item.runtest()
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.053Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.053Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.053Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.053Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.053Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.053Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 484, in test_lines_random_no_corner_mask_chunk
[2024-06-23T21:30:38.053Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.053Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.053Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.053Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.053Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.053Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.053Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.053Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.053Z] from matplotlib._path import (
[2024-06-23T21:30:38.053Z] Traceback (most recent call last):
[2024-06-23T21:30:38.053Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.053Z] raise ImportError(msg)
[2024-06-23T21:30:38.053Z] ImportError:
[2024-06-23T21:30:38.053Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.053Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.053Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.053Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.053Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.053Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] ______ test_lines_random_no_corner_mask_chunk[threaded-ChunkCombinedNan] _______
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] name = 'threaded', line_type = <LineType.ChunkCombinedNan: 105>
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] @pytest.mark.image
[2024-06-23T21:30:38.053Z] @pytest.mark.parametrize("name, line_type", util_test.all_names_and_line_types())
[2024-06-23T21:30:38.053Z] def test_lines_random_no_corner_mask_chunk(name: str, line_type: LineType) -> None:
[2024-06-23T21:30:38.053Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] tests/test_lines.py:484:
[2024-06-23T21:30:38.053Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.053Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.053Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.053Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.053Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.053Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.053Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.053Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.053Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.053Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.053Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.053Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.053Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.053Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] """
[2024-06-23T21:30:38.053Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.053Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.053Z] elements drawn on the canvas.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.053Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.053Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.053Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.053Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.053Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.053Z] interactive performance.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.053Z] to the graph:
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.053Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.053Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.053Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.053Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.053Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.053Z] themselves.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.053Z] of how to use transforms.
[2024-06-23T21:30:38.053Z] """
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.053Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.053Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.053Z]
[2024-06-23T21:30:38.053Z] import copy
[2024-06-23T21:30:38.053Z] import functools
[2024-06-23T21:30:38.053Z] import textwrap
[2024-06-23T21:30:38.053Z] import weakref
[2024-06-23T21:30:38.054Z] import math
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] import numpy as np
[2024-06-23T21:30:38.054Z] from numpy.linalg import inv
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] from matplotlib import _api
[2024-06-23T21:30:38.054Z] > from matplotlib._path import (
[2024-06-23T21:30:38.054Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.054Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.054Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.054Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.054Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.054Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.054Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.054Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.054Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.054Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.054Z] code = main()
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.054Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.054Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.054Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.054Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.054Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.054Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.054Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.054Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.054Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.054Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.054Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.054Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.054Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.054Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.054Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.054Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.054Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.054Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.054Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.054Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.054Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.054Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.054Z] item.runtest()
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.054Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.054Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.054Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.054Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.054Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.054Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 484, in test_lines_random_no_corner_mask_chunk
[2024-06-23T21:30:38.054Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.054Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.054Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.054Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.054Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.054Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.054Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.054Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.054Z] from matplotlib._path import (
[2024-06-23T21:30:38.054Z] Traceback (most recent call last):
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.054Z] raise ImportError(msg)
[2024-06-23T21:30:38.054Z] ImportError:
[2024-06-23T21:30:38.054Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.054Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.054Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.054Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.054Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.054Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] __________ test_lines_random_no_corner_mask_chunk_threads[2-Separate] __________
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] line_type = <LineType.Separate: 101>, thread_count = 2
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] @pytest.mark.image
[2024-06-23T21:30:38.054Z] @pytest.mark.threads
[2024-06-23T21:30:38.054Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.054Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.054Z] def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.054Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] tests/test_lines.py:514:
[2024-06-23T21:30:38.054Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.054Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.054Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.054Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.054Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.054Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.054Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.054Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.054Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.054Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.054Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.054Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.054Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.054Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] """
[2024-06-23T21:30:38.054Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.054Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.054Z] elements drawn on the canvas.
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.054Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.054Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.054Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.054Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.054Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.054Z] interactive performance.
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.054Z] to the graph:
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.054Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.054Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.054Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.054Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.054Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.054Z] themselves.
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.054Z] of how to use transforms.
[2024-06-23T21:30:38.054Z] """
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.054Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.054Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] import copy
[2024-06-23T21:30:38.054Z] import functools
[2024-06-23T21:30:38.054Z] import textwrap
[2024-06-23T21:30:38.054Z] import weakref
[2024-06-23T21:30:38.054Z] import math
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] import numpy as np
[2024-06-23T21:30:38.054Z] from numpy.linalg import inv
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] from matplotlib import _api
[2024-06-23T21:30:38.054Z] > from matplotlib._path import (
[2024-06-23T21:30:38.054Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.054Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.054Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.054Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.054Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.054Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.054Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.054Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.054Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.054Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.054Z] code = main()
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.054Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.054Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.054Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.054Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.054Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.054Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.054Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.054Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.054Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.054Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.054Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.054Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.054Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.054Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.054Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.054Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.054Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.054Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.054Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.054Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.054Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.054Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.054Z] item.runtest()
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.054Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.054Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.054Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.054Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.054Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.054Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 514, in test_lines_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.054Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.054Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.054Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.054Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.054Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.054Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.054Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.054Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.054Z] from matplotlib._path import (
[2024-06-23T21:30:38.054Z] Traceback (most recent call last):
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.054Z] raise ImportError(msg)
[2024-06-23T21:30:38.054Z] ImportError:
[2024-06-23T21:30:38.054Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.054Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.054Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.054Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.054Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.054Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] ________ test_lines_random_no_corner_mask_chunk_threads[2-SeparateCode] ________
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] line_type = <LineType.SeparateCode: 102>, thread_count = 2
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] @pytest.mark.image
[2024-06-23T21:30:38.054Z] @pytest.mark.threads
[2024-06-23T21:30:38.054Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.054Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.054Z] def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.054Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] tests/test_lines.py:514:
[2024-06-23T21:30:38.054Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.054Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.054Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.054Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.054Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.054Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.054Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.054Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.054Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.054Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.054Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.054Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.054Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.054Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] """
[2024-06-23T21:30:38.054Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.054Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.054Z] elements drawn on the canvas.
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.054Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.054Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.054Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.054Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.054Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.054Z] interactive performance.
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.054Z] to the graph:
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.054Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.054Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.054Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.054Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.054Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.054Z] themselves.
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.054Z] of how to use transforms.
[2024-06-23T21:30:38.054Z] """
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.054Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.054Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] import copy
[2024-06-23T21:30:38.054Z] import functools
[2024-06-23T21:30:38.054Z] import textwrap
[2024-06-23T21:30:38.054Z] import weakref
[2024-06-23T21:30:38.054Z] import math
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] import numpy as np
[2024-06-23T21:30:38.054Z] from numpy.linalg import inv
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] from matplotlib import _api
[2024-06-23T21:30:38.054Z] > from matplotlib._path import (
[2024-06-23T21:30:38.054Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.054Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.054Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.054Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.054Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.054Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.054Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.054Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.054Z]
[2024-06-23T21:30:38.054Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.054Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.054Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.054Z] code = main()
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.054Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.054Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.054Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.054Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.054Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.054Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.054Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.054Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.054Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.054Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.055Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.055Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.055Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.055Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.055Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.055Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.055Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.055Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.055Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.055Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.055Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.055Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.055Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.055Z] item.runtest()
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.055Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.055Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.055Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.055Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.055Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.055Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 514, in test_lines_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.055Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.055Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.055Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.055Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.055Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.055Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.055Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.055Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.055Z] from matplotlib._path import (
[2024-06-23T21:30:38.055Z] Traceback (most recent call last):
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.055Z] raise ImportError(msg)
[2024-06-23T21:30:38.055Z] ImportError:
[2024-06-23T21:30:38.055Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.055Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.055Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.055Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.055Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.055Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] _____ test_lines_random_no_corner_mask_chunk_threads[2-ChunkCombinedCode] ______
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] line_type = <LineType.ChunkCombinedCode: 103>, thread_count = 2
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] @pytest.mark.image
[2024-06-23T21:30:38.055Z] @pytest.mark.threads
[2024-06-23T21:30:38.055Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.055Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.055Z] def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.055Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] tests/test_lines.py:514:
[2024-06-23T21:30:38.055Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.055Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.055Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.055Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.055Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.055Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.055Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.055Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.055Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.055Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.055Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.055Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.055Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.055Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] """
[2024-06-23T21:30:38.055Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.055Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.055Z] elements drawn on the canvas.
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.055Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.055Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.055Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.055Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.055Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.055Z] interactive performance.
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.055Z] to the graph:
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.055Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.055Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.055Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.055Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.055Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.055Z] themselves.
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.055Z] of how to use transforms.
[2024-06-23T21:30:38.055Z] """
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.055Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.055Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] import copy
[2024-06-23T21:30:38.055Z] import functools
[2024-06-23T21:30:38.055Z] import textwrap
[2024-06-23T21:30:38.055Z] import weakref
[2024-06-23T21:30:38.055Z] import math
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] import numpy as np
[2024-06-23T21:30:38.055Z] from numpy.linalg import inv
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] from matplotlib import _api
[2024-06-23T21:30:38.055Z] > from matplotlib._path import (
[2024-06-23T21:30:38.055Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.055Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.055Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.055Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.055Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.055Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.055Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.055Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.055Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.055Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.055Z] code = main()
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.055Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.055Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.055Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.055Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.055Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.055Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.055Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.055Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.055Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.055Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.055Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.055Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.055Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.055Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.055Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.055Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.055Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.055Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.055Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.055Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.055Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.055Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.055Z] item.runtest()
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.055Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.055Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.055Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.055Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.055Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.055Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 514, in test_lines_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.055Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.055Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.055Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.055Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.055Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.055Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.055Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.055Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.055Z] from matplotlib._path import (
[2024-06-23T21:30:38.055Z] Traceback (most recent call last):
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.055Z] raise ImportError(msg)
[2024-06-23T21:30:38.055Z] ImportError:
[2024-06-23T21:30:38.055Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.055Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.055Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.055Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.055Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.055Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] ____ test_lines_random_no_corner_mask_chunk_threads[2-ChunkCombinedOffset] _____
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] line_type = <LineType.ChunkCombinedOffset: 104>, thread_count = 2
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] @pytest.mark.image
[2024-06-23T21:30:38.055Z] @pytest.mark.threads
[2024-06-23T21:30:38.055Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.055Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.055Z] def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.055Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] tests/test_lines.py:514:
[2024-06-23T21:30:38.055Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.055Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.055Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.055Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.055Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.055Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.055Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.055Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.055Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.055Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.055Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.055Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.055Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.055Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] """
[2024-06-23T21:30:38.055Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.055Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.055Z] elements drawn on the canvas.
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.055Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.055Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.055Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.055Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.055Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.055Z] interactive performance.
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.055Z] to the graph:
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.055Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.055Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.055Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.055Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.055Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.055Z] themselves.
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.055Z] of how to use transforms.
[2024-06-23T21:30:38.055Z] """
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.055Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.055Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] import copy
[2024-06-23T21:30:38.055Z] import functools
[2024-06-23T21:30:38.055Z] import textwrap
[2024-06-23T21:30:38.055Z] import weakref
[2024-06-23T21:30:38.055Z] import math
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] import numpy as np
[2024-06-23T21:30:38.055Z] from numpy.linalg import inv
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] from matplotlib import _api
[2024-06-23T21:30:38.055Z] > from matplotlib._path import (
[2024-06-23T21:30:38.055Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.055Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.055Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.055Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.055Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.055Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.055Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.055Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.055Z]
[2024-06-23T21:30:38.055Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.055Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.055Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.055Z] code = main()
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.055Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.055Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.055Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.055Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.055Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.055Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.055Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.055Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.055Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.055Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.055Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.055Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.055Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.055Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.055Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.055Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.055Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.055Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.055Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.055Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.055Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.055Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.055Z] item.runtest()
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.055Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.055Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.055Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.055Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.055Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.055Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 514, in test_lines_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.055Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.055Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.055Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.055Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.055Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.055Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.055Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.055Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.055Z] from matplotlib._path import (
[2024-06-23T21:30:38.055Z] Traceback (most recent call last):
[2024-06-23T21:30:38.055Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.055Z] raise ImportError(msg)
[2024-06-23T21:30:38.056Z] ImportError:
[2024-06-23T21:30:38.056Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.056Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.056Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.056Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.056Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.056Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] ______ test_lines_random_no_corner_mask_chunk_threads[2-ChunkCombinedNan] ______
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] line_type = <LineType.ChunkCombinedNan: 105>, thread_count = 2
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] @pytest.mark.image
[2024-06-23T21:30:38.056Z] @pytest.mark.threads
[2024-06-23T21:30:38.056Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.056Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.056Z] def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.056Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] tests/test_lines.py:514:
[2024-06-23T21:30:38.056Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.056Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.056Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.056Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.056Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.056Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.056Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.056Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.056Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.056Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.056Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.056Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.056Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.056Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] """
[2024-06-23T21:30:38.056Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.056Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.056Z] elements drawn on the canvas.
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.056Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.056Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.056Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.056Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.056Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.056Z] interactive performance.
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.056Z] to the graph:
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.056Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.056Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.056Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.056Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.056Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.056Z] themselves.
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.056Z] of how to use transforms.
[2024-06-23T21:30:38.056Z] """
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.056Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.056Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] import copy
[2024-06-23T21:30:38.056Z] import functools
[2024-06-23T21:30:38.056Z] import textwrap
[2024-06-23T21:30:38.056Z] import weakref
[2024-06-23T21:30:38.056Z] import math
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] import numpy as np
[2024-06-23T21:30:38.056Z] from numpy.linalg import inv
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] from matplotlib import _api
[2024-06-23T21:30:38.056Z] > from matplotlib._path import (
[2024-06-23T21:30:38.056Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.056Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.056Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.056Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.056Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.056Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.056Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.056Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.056Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.056Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.056Z] code = main()
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.056Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.056Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.056Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.056Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.056Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.056Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.056Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.056Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.056Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.056Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.056Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.056Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.056Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.056Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.056Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.056Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.056Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.056Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.056Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.056Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.056Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.056Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.056Z] item.runtest()
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.056Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.056Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.056Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.056Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.056Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.056Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 514, in test_lines_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.056Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.056Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.056Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.056Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.056Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.056Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.056Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.056Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.056Z] from matplotlib._path import (
[2024-06-23T21:30:38.056Z] Traceback (most recent call last):
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.056Z] raise ImportError(msg)
[2024-06-23T21:30:38.056Z] ImportError:
[2024-06-23T21:30:38.056Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.056Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.056Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.056Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.056Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.056Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] __________ test_lines_random_no_corner_mask_chunk_threads[3-Separate] __________
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] line_type = <LineType.Separate: 101>, thread_count = 3
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] @pytest.mark.image
[2024-06-23T21:30:38.056Z] @pytest.mark.threads
[2024-06-23T21:30:38.056Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.056Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.056Z] def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.056Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] tests/test_lines.py:514:
[2024-06-23T21:30:38.056Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.056Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.056Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.056Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.056Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.056Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.056Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.056Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.056Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.056Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.056Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.056Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.056Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.056Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] """
[2024-06-23T21:30:38.056Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.056Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.056Z] elements drawn on the canvas.
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.056Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.056Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.056Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.056Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.056Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.056Z] interactive performance.
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.056Z] to the graph:
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.056Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.056Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.056Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.056Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.056Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.056Z] themselves.
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.056Z] of how to use transforms.
[2024-06-23T21:30:38.056Z] """
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.056Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.056Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] import copy
[2024-06-23T21:30:38.056Z] import functools
[2024-06-23T21:30:38.056Z] import textwrap
[2024-06-23T21:30:38.056Z] import weakref
[2024-06-23T21:30:38.056Z] import math
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] import numpy as np
[2024-06-23T21:30:38.056Z] from numpy.linalg import inv
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] from matplotlib import _api
[2024-06-23T21:30:38.056Z] > from matplotlib._path import (
[2024-06-23T21:30:38.056Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.056Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.056Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.056Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.056Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.056Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.056Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.056Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.056Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.056Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.056Z] code = main()
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.056Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.056Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.056Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.056Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.056Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.056Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.056Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.056Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.056Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.056Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.056Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.056Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.056Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.056Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.056Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.056Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.056Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.056Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.056Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.056Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.056Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.056Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.056Z] item.runtest()
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.056Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.056Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.056Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.056Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.056Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.056Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 514, in test_lines_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.056Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.056Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.056Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.056Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.056Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.056Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.056Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.056Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.056Z] from matplotlib._path import (
[2024-06-23T21:30:38.056Z] Traceback (most recent call last):
[2024-06-23T21:30:38.056Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.056Z] raise ImportError(msg)
[2024-06-23T21:30:38.056Z] ImportError:
[2024-06-23T21:30:38.056Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.056Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.056Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.056Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.056Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.056Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] ________ test_lines_random_no_corner_mask_chunk_threads[3-SeparateCode] ________
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] line_type = <LineType.SeparateCode: 102>, thread_count = 3
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] @pytest.mark.image
[2024-06-23T21:30:38.056Z] @pytest.mark.threads
[2024-06-23T21:30:38.056Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.056Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.056Z] def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.056Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] tests/test_lines.py:514:
[2024-06-23T21:30:38.056Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.056Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.056Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.056Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.056Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.056Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.056Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.056Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.056Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.056Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.056Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.056Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.056Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.056Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] """
[2024-06-23T21:30:38.056Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.056Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.056Z] elements drawn on the canvas.
[2024-06-23T21:30:38.056Z]
[2024-06-23T21:30:38.056Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.056Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.056Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.056Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.056Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.056Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.057Z] interactive performance.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.057Z] to the graph:
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.057Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.057Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.057Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.057Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.057Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.057Z] themselves.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.057Z] of how to use transforms.
[2024-06-23T21:30:38.057Z] """
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.057Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.057Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] import copy
[2024-06-23T21:30:38.057Z] import functools
[2024-06-23T21:30:38.057Z] import textwrap
[2024-06-23T21:30:38.057Z] import weakref
[2024-06-23T21:30:38.057Z] import math
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] import numpy as np
[2024-06-23T21:30:38.057Z] from numpy.linalg import inv
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] from matplotlib import _api
[2024-06-23T21:30:38.057Z] > from matplotlib._path import (
[2024-06-23T21:30:38.057Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.057Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.057Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.057Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.057Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.057Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.057Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.057Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.057Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.057Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.057Z] code = main()
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.057Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.057Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.057Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.057Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.057Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.057Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.057Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.057Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.057Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.057Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.057Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.057Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.057Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.057Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.057Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.057Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.057Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.057Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.057Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.057Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.057Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.057Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.057Z] item.runtest()
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.057Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.057Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.057Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.057Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.057Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.057Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 514, in test_lines_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.057Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.057Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.057Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.057Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.057Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.057Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.057Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.057Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.057Z] from matplotlib._path import (
[2024-06-23T21:30:38.057Z] Traceback (most recent call last):
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.057Z] raise ImportError(msg)
[2024-06-23T21:30:38.057Z] ImportError:
[2024-06-23T21:30:38.057Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.057Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.057Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.057Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.057Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.057Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] _____ test_lines_random_no_corner_mask_chunk_threads[3-ChunkCombinedCode] ______
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] line_type = <LineType.ChunkCombinedCode: 103>, thread_count = 3
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] @pytest.mark.image
[2024-06-23T21:30:38.057Z] @pytest.mark.threads
[2024-06-23T21:30:38.057Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.057Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.057Z] def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.057Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] tests/test_lines.py:514:
[2024-06-23T21:30:38.057Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.057Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.057Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.057Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.057Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.057Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.057Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.057Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.057Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.057Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.057Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.057Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.057Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.057Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] """
[2024-06-23T21:30:38.057Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.057Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.057Z] elements drawn on the canvas.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.057Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.057Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.057Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.057Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.057Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.057Z] interactive performance.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.057Z] to the graph:
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.057Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.057Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.057Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.057Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.057Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.057Z] themselves.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.057Z] of how to use transforms.
[2024-06-23T21:30:38.057Z] """
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.057Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.057Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] import copy
[2024-06-23T21:30:38.057Z] import functools
[2024-06-23T21:30:38.057Z] import textwrap
[2024-06-23T21:30:38.057Z] import weakref
[2024-06-23T21:30:38.057Z] import math
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] import numpy as np
[2024-06-23T21:30:38.057Z] from numpy.linalg import inv
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] from matplotlib import _api
[2024-06-23T21:30:38.057Z] > from matplotlib._path import (
[2024-06-23T21:30:38.057Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.057Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.057Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.057Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.057Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.057Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.057Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.057Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.057Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.057Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.057Z] code = main()
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.057Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.057Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.057Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.057Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.057Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.057Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.057Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.057Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.057Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.057Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.057Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.057Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.057Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.057Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.057Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.057Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.057Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.057Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.057Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.057Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.057Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.057Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.057Z] item.runtest()
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.057Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.057Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.057Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.057Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.057Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.057Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 514, in test_lines_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.057Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.057Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.057Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.057Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.057Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.057Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.057Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.057Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.057Z] from matplotlib._path import (
[2024-06-23T21:30:38.057Z] Traceback (most recent call last):
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.057Z] raise ImportError(msg)
[2024-06-23T21:30:38.057Z] ImportError:
[2024-06-23T21:30:38.057Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.057Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.057Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.057Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.057Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.057Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] ____ test_lines_random_no_corner_mask_chunk_threads[3-ChunkCombinedOffset] _____
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] line_type = <LineType.ChunkCombinedOffset: 104>, thread_count = 3
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] @pytest.mark.image
[2024-06-23T21:30:38.057Z] @pytest.mark.threads
[2024-06-23T21:30:38.057Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.057Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.057Z] def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.057Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] tests/test_lines.py:514:
[2024-06-23T21:30:38.057Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.057Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.057Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.057Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.057Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.057Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.057Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.057Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.057Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.057Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.057Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.057Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.057Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.057Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] """
[2024-06-23T21:30:38.057Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.057Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.057Z] elements drawn on the canvas.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.057Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.057Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.057Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.057Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.057Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.057Z] interactive performance.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.057Z] to the graph:
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.057Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.057Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.057Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.057Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.057Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.057Z] themselves.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.057Z] of how to use transforms.
[2024-06-23T21:30:38.057Z] """
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.057Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.057Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] import copy
[2024-06-23T21:30:38.057Z] import functools
[2024-06-23T21:30:38.057Z] import textwrap
[2024-06-23T21:30:38.057Z] import weakref
[2024-06-23T21:30:38.057Z] import math
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] import numpy as np
[2024-06-23T21:30:38.057Z] from numpy.linalg import inv
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] from matplotlib import _api
[2024-06-23T21:30:38.057Z] > from matplotlib._path import (
[2024-06-23T21:30:38.057Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.057Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.057Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.057Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.057Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.057Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.057Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.057Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.057Z]
[2024-06-23T21:30:38.057Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.057Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.057Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.057Z] code = main()
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.057Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.057Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.057Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.057Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.057Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.057Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.057Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.058Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.058Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.058Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.058Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.058Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.058Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.058Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.058Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.058Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.058Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.058Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.058Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.058Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.058Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.058Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.058Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.058Z] item.runtest()
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.058Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.058Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.058Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.058Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.058Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.058Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 514, in test_lines_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.058Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.058Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.058Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.058Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.058Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.058Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.058Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.058Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.058Z] from matplotlib._path import (
[2024-06-23T21:30:38.058Z] Traceback (most recent call last):
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.058Z] raise ImportError(msg)
[2024-06-23T21:30:38.058Z] ImportError:
[2024-06-23T21:30:38.058Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.058Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.058Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.058Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.058Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.058Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] ______ test_lines_random_no_corner_mask_chunk_threads[3-ChunkCombinedNan] ______
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] line_type = <LineType.ChunkCombinedNan: 105>, thread_count = 3
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] @pytest.mark.image
[2024-06-23T21:30:38.058Z] @pytest.mark.threads
[2024-06-23T21:30:38.058Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.058Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.058Z] def test_lines_random_no_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.058Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] tests/test_lines.py:514:
[2024-06-23T21:30:38.058Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.058Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.058Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.058Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.058Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.058Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.058Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.058Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.058Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.058Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.058Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.058Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.058Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.058Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] """
[2024-06-23T21:30:38.058Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.058Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.058Z] elements drawn on the canvas.
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.058Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.058Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.058Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.058Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.058Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.058Z] interactive performance.
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.058Z] to the graph:
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.058Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.058Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.058Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.058Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.058Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.058Z] themselves.
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.058Z] of how to use transforms.
[2024-06-23T21:30:38.058Z] """
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.058Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.058Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] import copy
[2024-06-23T21:30:38.058Z] import functools
[2024-06-23T21:30:38.058Z] import textwrap
[2024-06-23T21:30:38.058Z] import weakref
[2024-06-23T21:30:38.058Z] import math
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] import numpy as np
[2024-06-23T21:30:38.058Z] from numpy.linalg import inv
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] from matplotlib import _api
[2024-06-23T21:30:38.058Z] > from matplotlib._path import (
[2024-06-23T21:30:38.058Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.058Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.058Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.058Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.058Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.058Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.058Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.058Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.058Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.058Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.058Z] code = main()
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.058Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.058Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.058Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.058Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.058Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.058Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.058Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.058Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.058Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.058Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.058Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.058Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.058Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.058Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.058Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.058Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.058Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.058Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.058Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.058Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.058Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.058Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.058Z] item.runtest()
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.058Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.058Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.058Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.058Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.058Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.058Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 514, in test_lines_random_no_corner_mask_chunk_threads
[2024-06-23T21:30:38.058Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.058Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.058Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.058Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.058Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.058Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.058Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.058Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.058Z] from matplotlib._path import (
[2024-06-23T21:30:38.058Z] Traceback (most recent call last):
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.058Z] raise ImportError(msg)
[2024-06-23T21:30:38.058Z] ImportError:
[2024-06-23T21:30:38.058Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.058Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.058Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.058Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.058Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.058Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] ____________________ test_lines_random_corner_mask[mpl2014] ____________________
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] name = 'mpl2014'
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] @pytest.mark.image
[2024-06-23T21:30:38.058Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:38.058Z] def test_lines_random_corner_mask(name: str) -> None:
[2024-06-23T21:30:38.058Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] tests/test_lines.py:542:
[2024-06-23T21:30:38.058Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.058Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.058Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.058Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.058Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.058Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.058Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.058Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.058Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.058Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.058Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.058Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.058Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.058Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] """
[2024-06-23T21:30:38.058Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.058Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.058Z] elements drawn on the canvas.
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.058Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.058Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.058Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.058Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.058Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.058Z] interactive performance.
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.058Z] to the graph:
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.058Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.058Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.058Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.058Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.058Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.058Z] themselves.
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.058Z] of how to use transforms.
[2024-06-23T21:30:38.058Z] """
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.058Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.058Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] import copy
[2024-06-23T21:30:38.058Z] import functools
[2024-06-23T21:30:38.058Z] import textwrap
[2024-06-23T21:30:38.058Z] import weakref
[2024-06-23T21:30:38.058Z] import math
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] import numpy as np
[2024-06-23T21:30:38.058Z] from numpy.linalg import inv
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] from matplotlib import _api
[2024-06-23T21:30:38.058Z] > from matplotlib._path import (
[2024-06-23T21:30:38.058Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.058Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.058Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.058Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.058Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.058Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.058Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.058Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.058Z]
[2024-06-23T21:30:38.058Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.058Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.058Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.058Z] code = main()
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.058Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.058Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.058Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.058Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.058Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.058Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.058Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.058Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.058Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.058Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.058Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.058Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.058Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.058Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.058Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.058Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.058Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.058Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.058Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.058Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.058Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.058Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.058Z] item.runtest()
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.058Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.058Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.058Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.058Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.058Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.059Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.059Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 542, in test_lines_random_corner_mask
[2024-06-23T21:30:38.059Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.059Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.059Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.059Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.059Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.059Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.059Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.059Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.059Z] from matplotlib._path import (
[2024-06-23T21:30:38.059Z] Traceback (most recent call last):
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.059Z] raise ImportError(msg)
[2024-06-23T21:30:38.059Z] ImportError:
[2024-06-23T21:30:38.059Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.059Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.059Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.059Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.059Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.059Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] ____________________ test_lines_random_corner_mask[serial] _____________________
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] name = 'serial'
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] @pytest.mark.image
[2024-06-23T21:30:38.059Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:38.059Z] def test_lines_random_corner_mask(name: str) -> None:
[2024-06-23T21:30:38.059Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] tests/test_lines.py:542:
[2024-06-23T21:30:38.059Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.059Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.059Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.059Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.059Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.059Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.059Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.059Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.059Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.059Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.059Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.059Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.059Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.059Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] """
[2024-06-23T21:30:38.059Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.059Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.059Z] elements drawn on the canvas.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.059Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.059Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.059Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.059Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.059Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.059Z] interactive performance.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.059Z] to the graph:
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.059Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.059Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.059Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.059Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.059Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.059Z] themselves.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.059Z] of how to use transforms.
[2024-06-23T21:30:38.059Z] """
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.059Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.059Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] import copy
[2024-06-23T21:30:38.059Z] import functools
[2024-06-23T21:30:38.059Z] import textwrap
[2024-06-23T21:30:38.059Z] import weakref
[2024-06-23T21:30:38.059Z] import math
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] import numpy as np
[2024-06-23T21:30:38.059Z] from numpy.linalg import inv
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] from matplotlib import _api
[2024-06-23T21:30:38.059Z] > from matplotlib._path import (
[2024-06-23T21:30:38.059Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.059Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.059Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.059Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.059Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.059Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.059Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.059Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.059Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.059Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.059Z] code = main()
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.059Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.059Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.059Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.059Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.059Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.059Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.059Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.059Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.059Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.059Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.059Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.059Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.059Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.059Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.059Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.059Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.059Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.059Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.059Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.059Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.059Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.059Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.059Z] item.runtest()
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.059Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.059Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.059Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.059Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.059Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.059Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 542, in test_lines_random_corner_mask
[2024-06-23T21:30:38.059Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.059Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.059Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.059Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.059Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.059Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.059Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.059Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.059Z] from matplotlib._path import (
[2024-06-23T21:30:38.059Z] Traceback (most recent call last):
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.059Z] raise ImportError(msg)
[2024-06-23T21:30:38.059Z] ImportError:
[2024-06-23T21:30:38.059Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.059Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.059Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.059Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.059Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.059Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] ___________________ test_lines_random_corner_mask[threaded] ____________________
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] name = 'threaded'
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] @pytest.mark.image
[2024-06-23T21:30:38.059Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:38.059Z] def test_lines_random_corner_mask(name: str) -> None:
[2024-06-23T21:30:38.059Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] tests/test_lines.py:542:
[2024-06-23T21:30:38.059Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.059Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.059Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.059Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.059Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.059Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.059Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.059Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.059Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.059Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.059Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.059Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.059Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.059Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] """
[2024-06-23T21:30:38.059Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.059Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.059Z] elements drawn on the canvas.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.059Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.059Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.059Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.059Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.059Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.059Z] interactive performance.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.059Z] to the graph:
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.059Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.059Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.059Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.059Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.059Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.059Z] themselves.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.059Z] of how to use transforms.
[2024-06-23T21:30:38.059Z] """
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.059Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.059Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] import copy
[2024-06-23T21:30:38.059Z] import functools
[2024-06-23T21:30:38.059Z] import textwrap
[2024-06-23T21:30:38.059Z] import weakref
[2024-06-23T21:30:38.059Z] import math
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] import numpy as np
[2024-06-23T21:30:38.059Z] from numpy.linalg import inv
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] from matplotlib import _api
[2024-06-23T21:30:38.059Z] > from matplotlib._path import (
[2024-06-23T21:30:38.059Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.059Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.059Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.059Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.059Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.059Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.059Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.059Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.059Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.059Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.059Z] code = main()
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.059Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.059Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.059Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.059Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.059Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.059Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.059Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.059Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.059Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.059Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.059Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.059Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.059Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.059Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.059Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.059Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.059Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.059Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.059Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.059Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.059Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.059Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.059Z] item.runtest()
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.059Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.059Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.059Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.059Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.059Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.059Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 542, in test_lines_random_corner_mask
[2024-06-23T21:30:38.059Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.059Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.059Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.059Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.059Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.059Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.059Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.059Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.059Z] from matplotlib._path import (
[2024-06-23T21:30:38.059Z] Traceback (most recent call last):
[2024-06-23T21:30:38.059Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.059Z] raise ImportError(msg)
[2024-06-23T21:30:38.059Z] ImportError:
[2024-06-23T21:30:38.059Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.059Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.059Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.059Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.059Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.059Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] _________________ test_lines_random_corner_mask_chunk[mpl2014] _________________
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] name = 'mpl2014'
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] @pytest.mark.image
[2024-06-23T21:30:38.059Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:38.059Z] def test_lines_random_corner_mask_chunk(name: str) -> None:
[2024-06-23T21:30:38.059Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] tests/test_lines.py:566:
[2024-06-23T21:30:38.059Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.059Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.059Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.059Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.059Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.059Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.059Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.059Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.059Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.059Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.059Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.059Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.059Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.059Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] """
[2024-06-23T21:30:38.059Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.059Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.059Z] elements drawn on the canvas.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.059Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.059Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.059Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.059Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.059Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.059Z] interactive performance.
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.059Z] to the graph:
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.059Z]
[2024-06-23T21:30:38.059Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.060Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.060Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.060Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.060Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.060Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.060Z] themselves.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.060Z] of how to use transforms.
[2024-06-23T21:30:38.060Z] """
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.060Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.060Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] import copy
[2024-06-23T21:30:38.060Z] import functools
[2024-06-23T21:30:38.060Z] import textwrap
[2024-06-23T21:30:38.060Z] import weakref
[2024-06-23T21:30:38.060Z] import math
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] import numpy as np
[2024-06-23T21:30:38.060Z] from numpy.linalg import inv
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] from matplotlib import _api
[2024-06-23T21:30:38.060Z] > from matplotlib._path import (
[2024-06-23T21:30:38.060Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.060Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.060Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.060Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.060Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.060Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.060Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.060Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.060Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.060Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.060Z] code = main()
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.060Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.060Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.060Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.060Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.060Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.060Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.060Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.060Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.060Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.060Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.060Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.060Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.060Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.060Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.060Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.060Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.060Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.060Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.060Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.060Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.060Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.060Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.060Z] item.runtest()
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.060Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.060Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.060Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.060Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.060Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.060Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 566, in test_lines_random_corner_mask_chunk
[2024-06-23T21:30:38.060Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.060Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.060Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.060Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.060Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.060Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.060Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.060Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.060Z] from matplotlib._path import (
[2024-06-23T21:30:38.060Z] Traceback (most recent call last):
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.060Z] raise ImportError(msg)
[2024-06-23T21:30:38.060Z] ImportError:
[2024-06-23T21:30:38.060Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.060Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.060Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.060Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.060Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.060Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] _________________ test_lines_random_corner_mask_chunk[serial] __________________
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] name = 'serial'
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] @pytest.mark.image
[2024-06-23T21:30:38.060Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:38.060Z] def test_lines_random_corner_mask_chunk(name: str) -> None:
[2024-06-23T21:30:38.060Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] tests/test_lines.py:566:
[2024-06-23T21:30:38.060Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.060Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.060Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.060Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.060Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.060Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.060Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.060Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.060Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.060Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.060Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.060Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.060Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.060Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] """
[2024-06-23T21:30:38.060Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.060Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.060Z] elements drawn on the canvas.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.060Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.060Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.060Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.060Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.060Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.060Z] interactive performance.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.060Z] to the graph:
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.060Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.060Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.060Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.060Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.060Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.060Z] themselves.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.060Z] of how to use transforms.
[2024-06-23T21:30:38.060Z] """
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.060Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.060Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] import copy
[2024-06-23T21:30:38.060Z] import functools
[2024-06-23T21:30:38.060Z] import textwrap
[2024-06-23T21:30:38.060Z] import weakref
[2024-06-23T21:30:38.060Z] import math
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] import numpy as np
[2024-06-23T21:30:38.060Z] from numpy.linalg import inv
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] from matplotlib import _api
[2024-06-23T21:30:38.060Z] > from matplotlib._path import (
[2024-06-23T21:30:38.060Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.060Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.060Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.060Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.060Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.060Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.060Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.060Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.060Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.060Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.060Z] code = main()
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.060Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.060Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.060Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.060Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.060Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.060Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.060Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.060Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.060Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.060Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.060Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.060Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.060Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.060Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.060Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.060Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.060Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.060Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.060Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.060Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.060Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.060Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.060Z] item.runtest()
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.060Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.060Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.060Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.060Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.060Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.060Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 566, in test_lines_random_corner_mask_chunk
[2024-06-23T21:30:38.060Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.060Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.060Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.060Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.060Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.060Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.060Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.060Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.060Z] from matplotlib._path import (
[2024-06-23T21:30:38.060Z] Traceback (most recent call last):
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.060Z] raise ImportError(msg)
[2024-06-23T21:30:38.060Z] ImportError:
[2024-06-23T21:30:38.060Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.060Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.060Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.060Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.060Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.060Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] ________________ test_lines_random_corner_mask_chunk[threaded] _________________
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] name = 'threaded'
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] @pytest.mark.image
[2024-06-23T21:30:38.060Z] @pytest.mark.parametrize("name", util_test.corner_mask_names())
[2024-06-23T21:30:38.060Z] def test_lines_random_corner_mask_chunk(name: str) -> None:
[2024-06-23T21:30:38.060Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] tests/test_lines.py:566:
[2024-06-23T21:30:38.060Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.060Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.060Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.060Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.060Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.060Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.060Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.060Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.060Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.060Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.060Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.060Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.060Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.060Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] """
[2024-06-23T21:30:38.060Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.060Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.060Z] elements drawn on the canvas.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.060Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.060Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.060Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.060Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.060Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.060Z] interactive performance.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.060Z] to the graph:
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.060Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.060Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.060Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.060Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.060Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.060Z] themselves.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.060Z] of how to use transforms.
[2024-06-23T21:30:38.060Z] """
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.060Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.060Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] import copy
[2024-06-23T21:30:38.060Z] import functools
[2024-06-23T21:30:38.060Z] import textwrap
[2024-06-23T21:30:38.060Z] import weakref
[2024-06-23T21:30:38.060Z] import math
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] import numpy as np
[2024-06-23T21:30:38.060Z] from numpy.linalg import inv
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] from matplotlib import _api
[2024-06-23T21:30:38.060Z] > from matplotlib._path import (
[2024-06-23T21:30:38.060Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.060Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.060Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.060Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.060Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.060Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.060Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.060Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.060Z]
[2024-06-23T21:30:38.060Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.060Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.060Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.060Z] code = main()
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.060Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.060Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.060Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.060Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.060Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.061Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.061Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.061Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.061Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.061Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.061Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.061Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.061Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.061Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.061Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.061Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.061Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.061Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.061Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.061Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.061Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.061Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.061Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.061Z] item.runtest()
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.061Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.061Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.061Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.061Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.061Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.061Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 566, in test_lines_random_corner_mask_chunk
[2024-06-23T21:30:38.061Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.061Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.061Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.061Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.061Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.061Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.061Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.061Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.061Z] from matplotlib._path import (
[2024-06-23T21:30:38.061Z] Traceback (most recent call last):
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.061Z] raise ImportError(msg)
[2024-06-23T21:30:38.061Z] ImportError:
[2024-06-23T21:30:38.061Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.061Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.061Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.061Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.061Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.061Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] ___________ test_lines_random_corner_mask_chunk_threads[2-Separate] ____________
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] line_type = <LineType.Separate: 101>, thread_count = 2
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] @pytest.mark.image
[2024-06-23T21:30:38.061Z] @pytest.mark.threads
[2024-06-23T21:30:38.061Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.061Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.061Z] def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.061Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] tests/test_lines.py:594:
[2024-06-23T21:30:38.061Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.061Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.061Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.061Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.061Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.061Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.061Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.061Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.061Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.061Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.061Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.061Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.061Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.061Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] """
[2024-06-23T21:30:38.061Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.061Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.061Z] elements drawn on the canvas.
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.061Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.061Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.061Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.061Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.061Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.061Z] interactive performance.
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.061Z] to the graph:
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.061Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.061Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.061Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.061Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.061Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.061Z] themselves.
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.061Z] of how to use transforms.
[2024-06-23T21:30:38.061Z] """
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.061Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.061Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] import copy
[2024-06-23T21:30:38.061Z] import functools
[2024-06-23T21:30:38.061Z] import textwrap
[2024-06-23T21:30:38.061Z] import weakref
[2024-06-23T21:30:38.061Z] import math
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] import numpy as np
[2024-06-23T21:30:38.061Z] from numpy.linalg import inv
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] from matplotlib import _api
[2024-06-23T21:30:38.061Z] > from matplotlib._path import (
[2024-06-23T21:30:38.061Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.061Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.061Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.061Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.061Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.061Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.061Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.061Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.061Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.061Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.061Z] code = main()
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.061Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.061Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.061Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.061Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.061Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.061Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.061Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.061Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.061Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.061Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.061Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.061Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.061Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.061Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.061Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.061Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.061Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.061Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.061Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.061Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.061Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.061Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.061Z] item.runtest()
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.061Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.061Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.061Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.061Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.061Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.061Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 594, in test_lines_random_corner_mask_chunk_threads
[2024-06-23T21:30:38.061Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.061Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.061Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.061Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.061Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.061Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.061Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.061Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.061Z] from matplotlib._path import (
[2024-06-23T21:30:38.061Z] Traceback (most recent call last):
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.061Z] raise ImportError(msg)
[2024-06-23T21:30:38.061Z] ImportError:
[2024-06-23T21:30:38.061Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.061Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.061Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.061Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.061Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.061Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] _________ test_lines_random_corner_mask_chunk_threads[2-SeparateCode] __________
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] line_type = <LineType.SeparateCode: 102>, thread_count = 2
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] @pytest.mark.image
[2024-06-23T21:30:38.061Z] @pytest.mark.threads
[2024-06-23T21:30:38.061Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.061Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.061Z] def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.061Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] tests/test_lines.py:594:
[2024-06-23T21:30:38.061Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.061Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.061Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.061Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.061Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.061Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.061Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.061Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.061Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.061Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.061Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.061Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.061Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.061Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] """
[2024-06-23T21:30:38.061Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.061Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.061Z] elements drawn on the canvas.
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.061Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.061Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.061Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.061Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.061Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.061Z] interactive performance.
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.061Z] to the graph:
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.061Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.061Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.061Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.061Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.061Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.061Z] themselves.
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.061Z] of how to use transforms.
[2024-06-23T21:30:38.061Z] """
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.061Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.061Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] import copy
[2024-06-23T21:30:38.061Z] import functools
[2024-06-23T21:30:38.061Z] import textwrap
[2024-06-23T21:30:38.061Z] import weakref
[2024-06-23T21:30:38.061Z] import math
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] import numpy as np
[2024-06-23T21:30:38.061Z] from numpy.linalg import inv
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] from matplotlib import _api
[2024-06-23T21:30:38.061Z] > from matplotlib._path import (
[2024-06-23T21:30:38.061Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.061Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.061Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.061Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.061Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.061Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.061Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.061Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.061Z]
[2024-06-23T21:30:38.061Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.061Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.061Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.061Z] code = main()
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.061Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.061Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.061Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.061Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.061Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.061Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.061Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.061Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.061Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.061Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.061Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.061Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.061Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.061Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.061Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.061Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.061Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.061Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.061Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.061Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.061Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.061Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.061Z] item.runtest()
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.061Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.061Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.061Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.061Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.061Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.061Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 594, in test_lines_random_corner_mask_chunk_threads
[2024-06-23T21:30:38.061Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.061Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.061Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.061Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.061Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.062Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.062Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.062Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.062Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.062Z] from matplotlib._path import (
[2024-06-23T21:30:38.062Z] Traceback (most recent call last):
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.062Z] raise ImportError(msg)
[2024-06-23T21:30:38.062Z] ImportError:
[2024-06-23T21:30:38.062Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.062Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.062Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.062Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.062Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.062Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] _______ test_lines_random_corner_mask_chunk_threads[2-ChunkCombinedCode] _______
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] line_type = <LineType.ChunkCombinedCode: 103>, thread_count = 2
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] @pytest.mark.image
[2024-06-23T21:30:38.062Z] @pytest.mark.threads
[2024-06-23T21:30:38.062Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.062Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.062Z] def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.062Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] tests/test_lines.py:594:
[2024-06-23T21:30:38.062Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.062Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.062Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.062Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.062Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.062Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.062Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.062Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.062Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.062Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.062Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.062Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.062Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.062Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] """
[2024-06-23T21:30:38.062Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.062Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.062Z] elements drawn on the canvas.
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.062Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.062Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.062Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.062Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.062Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.062Z] interactive performance.
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.062Z] to the graph:
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.062Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.062Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.062Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.062Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.062Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.062Z] themselves.
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.062Z] of how to use transforms.
[2024-06-23T21:30:38.062Z] """
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.062Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.062Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] import copy
[2024-06-23T21:30:38.062Z] import functools
[2024-06-23T21:30:38.062Z] import textwrap
[2024-06-23T21:30:38.062Z] import weakref
[2024-06-23T21:30:38.062Z] import math
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] import numpy as np
[2024-06-23T21:30:38.062Z] from numpy.linalg import inv
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] from matplotlib import _api
[2024-06-23T21:30:38.062Z] > from matplotlib._path import (
[2024-06-23T21:30:38.062Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.062Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.062Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.062Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.062Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.062Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.062Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.062Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.062Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.062Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.062Z] code = main()
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.062Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.062Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.062Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.062Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.062Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.062Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.062Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.062Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.062Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.062Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.062Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.062Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.062Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.062Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.062Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.062Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.062Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.062Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.062Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.062Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.062Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.062Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.062Z] item.runtest()
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.062Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.062Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.062Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.062Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.062Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.062Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 594, in test_lines_random_corner_mask_chunk_threads
[2024-06-23T21:30:38.062Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.062Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.062Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.062Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.062Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.062Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.062Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.062Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.062Z] from matplotlib._path import (
[2024-06-23T21:30:38.062Z] Traceback (most recent call last):
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.062Z] raise ImportError(msg)
[2024-06-23T21:30:38.062Z] ImportError:
[2024-06-23T21:30:38.062Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.062Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.062Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.062Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.062Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.062Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] ______ test_lines_random_corner_mask_chunk_threads[2-ChunkCombinedOffset] ______
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] line_type = <LineType.ChunkCombinedOffset: 104>, thread_count = 2
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] @pytest.mark.image
[2024-06-23T21:30:38.062Z] @pytest.mark.threads
[2024-06-23T21:30:38.062Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.062Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.062Z] def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.062Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] tests/test_lines.py:594:
[2024-06-23T21:30:38.062Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.062Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.062Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.062Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.062Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.062Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.062Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.062Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.062Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.062Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.062Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.062Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.062Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.062Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] """
[2024-06-23T21:30:38.062Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.062Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.062Z] elements drawn on the canvas.
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.062Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.062Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.062Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.062Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.062Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.062Z] interactive performance.
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.062Z] to the graph:
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.062Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.062Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.062Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.062Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.062Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.062Z] themselves.
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.062Z] of how to use transforms.
[2024-06-23T21:30:38.062Z] """
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.062Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.062Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] import copy
[2024-06-23T21:30:38.062Z] import functools
[2024-06-23T21:30:38.062Z] import textwrap
[2024-06-23T21:30:38.062Z] import weakref
[2024-06-23T21:30:38.062Z] import math
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] import numpy as np
[2024-06-23T21:30:38.062Z] from numpy.linalg import inv
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] from matplotlib import _api
[2024-06-23T21:30:38.062Z] > from matplotlib._path import (
[2024-06-23T21:30:38.062Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.062Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.062Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.062Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.062Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.062Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.062Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.062Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.062Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.062Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.062Z] code = main()
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.062Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.062Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.062Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.062Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.062Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.062Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.062Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.062Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.062Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.062Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.062Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.062Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.062Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.062Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.062Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.062Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.062Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.062Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.062Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.062Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.062Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.062Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.062Z] item.runtest()
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.062Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.062Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.062Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.062Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.062Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.062Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 594, in test_lines_random_corner_mask_chunk_threads
[2024-06-23T21:30:38.062Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.062Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.062Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.062Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.062Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.062Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.062Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.062Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.062Z] from matplotlib._path import (
[2024-06-23T21:30:38.062Z] Traceback (most recent call last):
[2024-06-23T21:30:38.062Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.062Z] raise ImportError(msg)
[2024-06-23T21:30:38.062Z] ImportError:
[2024-06-23T21:30:38.062Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.062Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.062Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.062Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.062Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.062Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] _______ test_lines_random_corner_mask_chunk_threads[2-ChunkCombinedNan] ________
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] line_type = <LineType.ChunkCombinedNan: 105>, thread_count = 2
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] @pytest.mark.image
[2024-06-23T21:30:38.062Z] @pytest.mark.threads
[2024-06-23T21:30:38.062Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.062Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.062Z] def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.062Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.062Z]
[2024-06-23T21:30:38.062Z] tests/test_lines.py:594:
[2024-06-23T21:30:38.062Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.062Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.062Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.062Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.062Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.062Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.062Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.062Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.062Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.062Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.062Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.062Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.062Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.063Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] """
[2024-06-23T21:30:38.063Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.063Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.063Z] elements drawn on the canvas.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.063Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.063Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.063Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.063Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.063Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.063Z] interactive performance.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.063Z] to the graph:
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.063Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.063Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.063Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.063Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.063Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.063Z] themselves.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.063Z] of how to use transforms.
[2024-06-23T21:30:38.063Z] """
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.063Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.063Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] import copy
[2024-06-23T21:30:38.063Z] import functools
[2024-06-23T21:30:38.063Z] import textwrap
[2024-06-23T21:30:38.063Z] import weakref
[2024-06-23T21:30:38.063Z] import math
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] import numpy as np
[2024-06-23T21:30:38.063Z] from numpy.linalg import inv
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] from matplotlib import _api
[2024-06-23T21:30:38.063Z] > from matplotlib._path import (
[2024-06-23T21:30:38.063Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.063Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.063Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.063Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.063Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.063Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.063Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.063Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.063Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.063Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.063Z] code = main()
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.063Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.063Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.063Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.063Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.063Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.063Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.063Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.063Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.063Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.063Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.063Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.063Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.063Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.063Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.063Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.063Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.063Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.063Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.063Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.063Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.063Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.063Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.063Z] item.runtest()
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.063Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.063Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.063Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.063Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.063Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.063Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 594, in test_lines_random_corner_mask_chunk_threads
[2024-06-23T21:30:38.063Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.063Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.063Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.063Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.063Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.063Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.063Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.063Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.063Z] from matplotlib._path import (
[2024-06-23T21:30:38.063Z] Traceback (most recent call last):
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.063Z] raise ImportError(msg)
[2024-06-23T21:30:38.063Z] ImportError:
[2024-06-23T21:30:38.063Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.063Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.063Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.063Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.063Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.063Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] ___________ test_lines_random_corner_mask_chunk_threads[3-Separate] ____________
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] line_type = <LineType.Separate: 101>, thread_count = 3
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] @pytest.mark.image
[2024-06-23T21:30:38.063Z] @pytest.mark.threads
[2024-06-23T21:30:38.063Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.063Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.063Z] def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.063Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] tests/test_lines.py:594:
[2024-06-23T21:30:38.063Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.063Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.063Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.063Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.063Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.063Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.063Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.063Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.063Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.063Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.063Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.063Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.063Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.063Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] """
[2024-06-23T21:30:38.063Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.063Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.063Z] elements drawn on the canvas.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.063Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.063Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.063Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.063Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.063Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.063Z] interactive performance.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.063Z] to the graph:
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.063Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.063Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.063Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.063Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.063Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.063Z] themselves.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.063Z] of how to use transforms.
[2024-06-23T21:30:38.063Z] """
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.063Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.063Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] import copy
[2024-06-23T21:30:38.063Z] import functools
[2024-06-23T21:30:38.063Z] import textwrap
[2024-06-23T21:30:38.063Z] import weakref
[2024-06-23T21:30:38.063Z] import math
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] import numpy as np
[2024-06-23T21:30:38.063Z] from numpy.linalg import inv
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] from matplotlib import _api
[2024-06-23T21:30:38.063Z] > from matplotlib._path import (
[2024-06-23T21:30:38.063Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.063Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.063Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.063Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.063Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.063Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.063Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.063Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.063Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.063Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.063Z] code = main()
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.063Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.063Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.063Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.063Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.063Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.063Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.063Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.063Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.063Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.063Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.063Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.063Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.063Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.063Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.063Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.063Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.063Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.063Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.063Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.063Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.063Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.063Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.063Z] item.runtest()
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.063Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.063Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.063Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.063Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.063Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.063Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 594, in test_lines_random_corner_mask_chunk_threads
[2024-06-23T21:30:38.063Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.063Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.063Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.063Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.063Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.063Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.063Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.063Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.063Z] from matplotlib._path import (
[2024-06-23T21:30:38.063Z] Traceback (most recent call last):
[2024-06-23T21:30:38.063Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.063Z] raise ImportError(msg)
[2024-06-23T21:30:38.063Z] ImportError:
[2024-06-23T21:30:38.063Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.063Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.063Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.063Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.063Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.063Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] _________ test_lines_random_corner_mask_chunk_threads[3-SeparateCode] __________
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] line_type = <LineType.SeparateCode: 102>, thread_count = 3
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] @pytest.mark.image
[2024-06-23T21:30:38.063Z] @pytest.mark.threads
[2024-06-23T21:30:38.063Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.063Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.063Z] def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.063Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] tests/test_lines.py:594:
[2024-06-23T21:30:38.063Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.063Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.063Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.063Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.063Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.063Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.063Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.063Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.063Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.063Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.063Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.063Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.063Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.063Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] """
[2024-06-23T21:30:38.063Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.063Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.063Z] elements drawn on the canvas.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.063Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.063Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.063Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.063Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.063Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.063Z] interactive performance.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.063Z] to the graph:
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.063Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.063Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.063Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.063Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.063Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.063Z] themselves.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.063Z] of how to use transforms.
[2024-06-23T21:30:38.063Z] """
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.063Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.063Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] import copy
[2024-06-23T21:30:38.063Z] import functools
[2024-06-23T21:30:38.063Z] import textwrap
[2024-06-23T21:30:38.063Z] import weakref
[2024-06-23T21:30:38.063Z] import math
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] import numpy as np
[2024-06-23T21:30:38.063Z] from numpy.linalg import inv
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] from matplotlib import _api
[2024-06-23T21:30:38.063Z] > from matplotlib._path import (
[2024-06-23T21:30:38.063Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.063Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.063Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.063Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.063Z]
[2024-06-23T21:30:38.064Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.064Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.064Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.064Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.064Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.064Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.064Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.064Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.064Z] code = main()
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.064Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.064Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.064Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.064Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.064Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.064Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.064Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.064Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.064Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.064Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.064Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.064Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.064Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.064Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.064Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.064Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.064Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.064Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.064Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.064Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.064Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.064Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.064Z] item.runtest()
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.064Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.064Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.064Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.064Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.064Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.064Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 594, in test_lines_random_corner_mask_chunk_threads
[2024-06-23T21:30:38.064Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.064Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.064Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.064Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.064Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.064Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.064Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.064Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.064Z] from matplotlib._path import (
[2024-06-23T21:30:38.064Z] Traceback (most recent call last):
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.064Z] raise ImportError(msg)
[2024-06-23T21:30:38.064Z] ImportError:
[2024-06-23T21:30:38.064Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.064Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.064Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.064Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.064Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.064Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] _______ test_lines_random_corner_mask_chunk_threads[3-ChunkCombinedCode] _______
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] line_type = <LineType.ChunkCombinedCode: 103>, thread_count = 3
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] @pytest.mark.image
[2024-06-23T21:30:38.064Z] @pytest.mark.threads
[2024-06-23T21:30:38.064Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.064Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.064Z] def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.064Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] tests/test_lines.py:594:
[2024-06-23T21:30:38.064Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.064Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.064Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.064Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.064Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.064Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.064Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.064Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.064Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.064Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.064Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.064Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.064Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.064Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] """
[2024-06-23T21:30:38.064Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.064Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.064Z] elements drawn on the canvas.
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.064Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.064Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.064Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.064Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.064Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.064Z] interactive performance.
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.064Z] to the graph:
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.064Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.064Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.064Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.064Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.064Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.064Z] themselves.
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.064Z] of how to use transforms.
[2024-06-23T21:30:38.064Z] """
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.064Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.064Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] import copy
[2024-06-23T21:30:38.064Z] import functools
[2024-06-23T21:30:38.064Z] import textwrap
[2024-06-23T21:30:38.064Z] import weakref
[2024-06-23T21:30:38.064Z] import math
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] import numpy as np
[2024-06-23T21:30:38.064Z] from numpy.linalg import inv
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] from matplotlib import _api
[2024-06-23T21:30:38.064Z] > from matplotlib._path import (
[2024-06-23T21:30:38.064Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.064Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.064Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.064Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.064Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.064Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.064Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.064Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.064Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.064Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.064Z] code = main()
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.064Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.064Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.064Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.064Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.064Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.064Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.064Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.064Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.064Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.064Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.064Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.064Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.064Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.064Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.064Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.064Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.064Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.064Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.064Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.064Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.064Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.064Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.064Z] item.runtest()
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.064Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.064Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.064Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.064Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.064Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.064Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 594, in test_lines_random_corner_mask_chunk_threads
[2024-06-23T21:30:38.064Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.064Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.064Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.064Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.064Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.064Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.064Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.064Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.064Z] from matplotlib._path import (
[2024-06-23T21:30:38.064Z] Traceback (most recent call last):
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.064Z] raise ImportError(msg)
[2024-06-23T21:30:38.064Z] ImportError:
[2024-06-23T21:30:38.064Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.064Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.064Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.064Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.064Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.064Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] ______ test_lines_random_corner_mask_chunk_threads[3-ChunkCombinedOffset] ______
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] line_type = <LineType.ChunkCombinedOffset: 104>, thread_count = 3
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] @pytest.mark.image
[2024-06-23T21:30:38.064Z] @pytest.mark.threads
[2024-06-23T21:30:38.064Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.064Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.064Z] def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.064Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] tests/test_lines.py:594:
[2024-06-23T21:30:38.064Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.064Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.064Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.064Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.064Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.064Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.064Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.064Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.064Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.064Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.064Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.064Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.064Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.064Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] """
[2024-06-23T21:30:38.064Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.064Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.064Z] elements drawn on the canvas.
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.064Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.064Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.064Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.064Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.064Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.064Z] interactive performance.
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.064Z] to the graph:
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.064Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.064Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.064Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.064Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.064Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.064Z] themselves.
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.064Z] of how to use transforms.
[2024-06-23T21:30:38.064Z] """
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.064Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.064Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] import copy
[2024-06-23T21:30:38.064Z] import functools
[2024-06-23T21:30:38.064Z] import textwrap
[2024-06-23T21:30:38.064Z] import weakref
[2024-06-23T21:30:38.064Z] import math
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] import numpy as np
[2024-06-23T21:30:38.064Z] from numpy.linalg import inv
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] from matplotlib import _api
[2024-06-23T21:30:38.064Z] > from matplotlib._path import (
[2024-06-23T21:30:38.064Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.064Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.064Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.064Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.064Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.064Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.064Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.064Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.064Z]
[2024-06-23T21:30:38.064Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.064Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.064Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.064Z] code = main()
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.064Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.064Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.064Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.064Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.064Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.064Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.064Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.064Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.064Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.064Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.064Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.064Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.064Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.064Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.064Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.064Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.064Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.064Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.064Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.064Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.064Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.065Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.065Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.065Z] item.runtest()
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.065Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.065Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.065Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.065Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.065Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.065Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 594, in test_lines_random_corner_mask_chunk_threads
[2024-06-23T21:30:38.065Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.065Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.065Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.065Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.065Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.065Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.065Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.065Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.065Z] from matplotlib._path import (
[2024-06-23T21:30:38.065Z] Traceback (most recent call last):
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.065Z] raise ImportError(msg)
[2024-06-23T21:30:38.065Z] ImportError:
[2024-06-23T21:30:38.065Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.065Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.065Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.065Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.065Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.065Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] _______ test_lines_random_corner_mask_chunk_threads[3-ChunkCombinedNan] ________
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] line_type = <LineType.ChunkCombinedNan: 105>, thread_count = 3
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] @pytest.mark.image
[2024-06-23T21:30:38.065Z] @pytest.mark.threads
[2024-06-23T21:30:38.065Z] @pytest.mark.parametrize("line_type", LineType.__members__.values())
[2024-06-23T21:30:38.065Z] @pytest.mark.parametrize("thread_count", util_test.thread_counts())
[2024-06-23T21:30:38.065Z] def test_lines_random_corner_mask_chunk_threads(line_type: LineType, thread_count: int) -> None:
[2024-06-23T21:30:38.065Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] tests/test_lines.py:594:
[2024-06-23T21:30:38.065Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.065Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.065Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.065Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.065Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.065Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.065Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.065Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.065Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.065Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.065Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.065Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.065Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.065Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] """
[2024-06-23T21:30:38.065Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.065Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.065Z] elements drawn on the canvas.
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.065Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.065Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.065Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.065Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.065Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.065Z] interactive performance.
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.065Z] to the graph:
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.065Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.065Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.065Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.065Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.065Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.065Z] themselves.
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.065Z] of how to use transforms.
[2024-06-23T21:30:38.065Z] """
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.065Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.065Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] import copy
[2024-06-23T21:30:38.065Z] import functools
[2024-06-23T21:30:38.065Z] import textwrap
[2024-06-23T21:30:38.065Z] import weakref
[2024-06-23T21:30:38.065Z] import math
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] import numpy as np
[2024-06-23T21:30:38.065Z] from numpy.linalg import inv
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] from matplotlib import _api
[2024-06-23T21:30:38.065Z] > from matplotlib._path import (
[2024-06-23T21:30:38.065Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.065Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.065Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.065Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.065Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.065Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.065Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.065Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.065Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.065Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.065Z] code = main()
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.065Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.065Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.065Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.065Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.065Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.065Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.065Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.065Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.065Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.065Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.065Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.065Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.065Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.065Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.065Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.065Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.065Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.065Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.065Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.065Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.065Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.065Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.065Z] item.runtest()
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.065Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.065Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.065Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.065Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.065Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.065Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 594, in test_lines_random_corner_mask_chunk_threads
[2024-06-23T21:30:38.065Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.065Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.065Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.065Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.065Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.065Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.065Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.065Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.065Z] from matplotlib._path import (
[2024-06-23T21:30:38.065Z] Traceback (most recent call last):
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.065Z] raise ImportError(msg)
[2024-06-23T21:30:38.065Z] ImportError:
[2024-06-23T21:30:38.065Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.065Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.065Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.065Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.065Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.065Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] ____________________ test_lines_random_quad_as_tri[serial] _____________________
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] name = 'serial'
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] @pytest.mark.image
[2024-06-23T21:30:38.065Z] @pytest.mark.parametrize("name", util_test.quad_as_tri_names())
[2024-06-23T21:30:38.065Z] def test_lines_random_quad_as_tri(name: str) -> None:
[2024-06-23T21:30:38.065Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] tests/test_lines.py:622:
[2024-06-23T21:30:38.065Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.065Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.065Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.065Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.065Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.065Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.065Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.065Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.065Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.065Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.065Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.065Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.065Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.065Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] """
[2024-06-23T21:30:38.065Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.065Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.065Z] elements drawn on the canvas.
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.065Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.065Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.065Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.065Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.065Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.065Z] interactive performance.
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.065Z] to the graph:
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.065Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.065Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.065Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.065Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.065Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.065Z] themselves.
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.065Z] of how to use transforms.
[2024-06-23T21:30:38.065Z] """
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.065Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.065Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] import copy
[2024-06-23T21:30:38.065Z] import functools
[2024-06-23T21:30:38.065Z] import textwrap
[2024-06-23T21:30:38.065Z] import weakref
[2024-06-23T21:30:38.065Z] import math
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] import numpy as np
[2024-06-23T21:30:38.065Z] from numpy.linalg import inv
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] from matplotlib import _api
[2024-06-23T21:30:38.065Z] > from matplotlib._path import (
[2024-06-23T21:30:38.065Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.065Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.065Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.065Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.065Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.065Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.065Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.065Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.065Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.065Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.065Z] code = main()
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.065Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.065Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.065Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.065Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.065Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.065Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.065Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.065Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.065Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.065Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.065Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.065Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.065Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.065Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.065Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.065Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.065Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.065Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.065Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.065Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.065Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.065Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.065Z] item.runtest()
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.065Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.065Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.065Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.065Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.065Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.065Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 622, in test_lines_random_quad_as_tri
[2024-06-23T21:30:38.065Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.065Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.065Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.065Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.065Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.065Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.065Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.065Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.065Z] from matplotlib._path import (
[2024-06-23T21:30:38.065Z] Traceback (most recent call last):
[2024-06-23T21:30:38.065Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.065Z] raise ImportError(msg)
[2024-06-23T21:30:38.065Z] ImportError:
[2024-06-23T21:30:38.065Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.065Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.065Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.065Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.065Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.065Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] ___________________ test_lines_random_quad_as_tri[threaded] ____________________
[2024-06-23T21:30:38.065Z]
[2024-06-23T21:30:38.065Z] name = 'threaded'
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] @pytest.mark.image
[2024-06-23T21:30:38.066Z] @pytest.mark.parametrize("name", util_test.quad_as_tri_names())
[2024-06-23T21:30:38.066Z] def test_lines_random_quad_as_tri(name: str) -> None:
[2024-06-23T21:30:38.066Z] > from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] tests/test_lines.py:622:
[2024-06-23T21:30:38.066Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.066Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.066Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.066Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.066Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.066Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.066Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.066Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.066Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.066Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.066Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.066Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.066Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.066Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] """
[2024-06-23T21:30:38.066Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.066Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.066Z] elements drawn on the canvas.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.066Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.066Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.066Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.066Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.066Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.066Z] interactive performance.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.066Z] to the graph:
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.066Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.066Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.066Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.066Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.066Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.066Z] themselves.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.066Z] of how to use transforms.
[2024-06-23T21:30:38.066Z] """
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.066Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.066Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] import copy
[2024-06-23T21:30:38.066Z] import functools
[2024-06-23T21:30:38.066Z] import textwrap
[2024-06-23T21:30:38.066Z] import weakref
[2024-06-23T21:30:38.066Z] import math
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] import numpy as np
[2024-06-23T21:30:38.066Z] from numpy.linalg import inv
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] from matplotlib import _api
[2024-06-23T21:30:38.066Z] > from matplotlib._path import (
[2024-06-23T21:30:38.066Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.066Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.066Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.066Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.066Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.066Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.066Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.066Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.066Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.066Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.066Z] code = main()
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.066Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.066Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.066Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.066Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.066Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.066Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.066Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.066Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.066Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.066Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.066Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.066Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.066Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.066Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.066Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.066Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.066Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.066Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.066Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.066Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.066Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.066Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.066Z] item.runtest()
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.066Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.066Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.066Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.066Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.066Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.066Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_lines.py", line 622, in test_lines_random_quad_as_tri
[2024-06-23T21:30:38.066Z] from contourpy.util.mpl_renderer import MplTestRenderer
[2024-06-23T21:30:38.066Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.066Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.066Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.066Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.066Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.066Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.066Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.066Z] from matplotlib._path import (
[2024-06-23T21:30:38.066Z] Traceback (most recent call last):
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.066Z] raise ImportError(msg)
[2024-06-23T21:30:38.066Z] ImportError:
[2024-06-23T21:30:38.066Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.066Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.066Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.066Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.066Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.066Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] _________________ test_debug_renderer_filled[OuterCode0-False] _________________
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] show_text = False, fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] @pytest.mark.image
[2024-06-23T21:30:38.066Z] @pytest.mark.text
[2024-06-23T21:30:38.066Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.066Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.066Z] def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str) -> None:
[2024-06-23T21:30:38.066Z] > from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] tests/test_renderer.py:21:
[2024-06-23T21:30:38.066Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.066Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.066Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.066Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.066Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.066Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.066Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.066Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.066Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.066Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.066Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.066Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.066Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.066Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] """
[2024-06-23T21:30:38.066Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.066Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.066Z] elements drawn on the canvas.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.066Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.066Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.066Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.066Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.066Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.066Z] interactive performance.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.066Z] to the graph:
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.066Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.066Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.066Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.066Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.066Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.066Z] themselves.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.066Z] of how to use transforms.
[2024-06-23T21:30:38.066Z] """
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.066Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.066Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] import copy
[2024-06-23T21:30:38.066Z] import functools
[2024-06-23T21:30:38.066Z] import textwrap
[2024-06-23T21:30:38.066Z] import weakref
[2024-06-23T21:30:38.066Z] import math
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] import numpy as np
[2024-06-23T21:30:38.066Z] from numpy.linalg import inv
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] from matplotlib import _api
[2024-06-23T21:30:38.066Z] > from matplotlib._path import (
[2024-06-23T21:30:38.066Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.066Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.066Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.066Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.066Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.066Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.066Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.066Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.066Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.066Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.066Z] code = main()
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.066Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.066Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.066Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.066Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.066Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.066Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.066Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.066Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.066Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.066Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.066Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.066Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.066Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.066Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.066Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.066Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.066Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.066Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.066Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.066Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.066Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.066Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.066Z] item.runtest()
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.066Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.066Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.066Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.066Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.066Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.066Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 21, in test_debug_renderer_filled
[2024-06-23T21:30:38.066Z] from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.066Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.066Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.066Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.066Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.066Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.066Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.066Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.066Z] from matplotlib._path import (
[2024-06-23T21:30:38.066Z] Traceback (most recent call last):
[2024-06-23T21:30:38.066Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.066Z] raise ImportError(msg)
[2024-06-23T21:30:38.066Z] ImportError:
[2024-06-23T21:30:38.066Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.066Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.066Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.066Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.066Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.066Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] ________________ test_debug_renderer_filled[OuterOffset-False] _________________
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] show_text = False, fill_type = <FillType.OuterOffset: 202>
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] @pytest.mark.image
[2024-06-23T21:30:38.066Z] @pytest.mark.text
[2024-06-23T21:30:38.066Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.066Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.066Z] def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str) -> None:
[2024-06-23T21:30:38.066Z] > from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] tests/test_renderer.py:21:
[2024-06-23T21:30:38.066Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.066Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.066Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.066Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.066Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.066Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.066Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.066Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.066Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.066Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.066Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.066Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.066Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.066Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] """
[2024-06-23T21:30:38.066Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.066Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.066Z] elements drawn on the canvas.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.066Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.066Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.066Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.066Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.066Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.066Z] interactive performance.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.066Z] to the graph:
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.066Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.066Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.066Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.066Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.066Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.066Z] themselves.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.066Z] of how to use transforms.
[2024-06-23T21:30:38.066Z] """
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.066Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.066Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] import copy
[2024-06-23T21:30:38.066Z] import functools
[2024-06-23T21:30:38.066Z] import textwrap
[2024-06-23T21:30:38.066Z] import weakref
[2024-06-23T21:30:38.066Z] import math
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] import numpy as np
[2024-06-23T21:30:38.066Z] from numpy.linalg import inv
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] from matplotlib import _api
[2024-06-23T21:30:38.066Z] > from matplotlib._path import (
[2024-06-23T21:30:38.066Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.066Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.066Z]
[2024-06-23T21:30:38.066Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.067Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.067Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.067Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.067Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.067Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.067Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.067Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.067Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.067Z] code = main()
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.067Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.067Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.067Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.067Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.067Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.067Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.067Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.067Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.067Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.067Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.067Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.067Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.067Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.067Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.067Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.067Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.067Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.067Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.067Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.067Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.067Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.067Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.067Z] item.runtest()
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.067Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.067Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.067Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.067Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.067Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.067Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 21, in test_debug_renderer_filled
[2024-06-23T21:30:38.067Z] from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.067Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.067Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.067Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.067Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.067Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.067Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.067Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.067Z] from matplotlib._path import (
[2024-06-23T21:30:38.067Z] Traceback (most recent call last):
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.067Z] raise ImportError(msg)
[2024-06-23T21:30:38.067Z] ImportError:
[2024-06-23T21:30:38.067Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.067Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.067Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.067Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.067Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.067Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] _____________ test_debug_renderer_filled[ChunkCombinedCode-False] ______________
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] show_text = False, fill_type = <FillType.ChunkCombinedCode: 203>
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] @pytest.mark.image
[2024-06-23T21:30:38.067Z] @pytest.mark.text
[2024-06-23T21:30:38.067Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.067Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.067Z] def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str) -> None:
[2024-06-23T21:30:38.067Z] > from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] tests/test_renderer.py:21:
[2024-06-23T21:30:38.067Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.067Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.067Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.067Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.067Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.067Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.067Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.067Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.067Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.067Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.067Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.067Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.067Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.067Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] """
[2024-06-23T21:30:38.067Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.067Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.067Z] elements drawn on the canvas.
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.067Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.067Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.067Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.067Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.067Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.067Z] interactive performance.
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.067Z] to the graph:
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.067Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.067Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.067Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.067Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.067Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.067Z] themselves.
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.067Z] of how to use transforms.
[2024-06-23T21:30:38.067Z] """
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.067Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.067Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] import copy
[2024-06-23T21:30:38.067Z] import functools
[2024-06-23T21:30:38.067Z] import textwrap
[2024-06-23T21:30:38.067Z] import weakref
[2024-06-23T21:30:38.067Z] import math
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] import numpy as np
[2024-06-23T21:30:38.067Z] from numpy.linalg import inv
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] from matplotlib import _api
[2024-06-23T21:30:38.067Z] > from matplotlib._path import (
[2024-06-23T21:30:38.067Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.067Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.067Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.067Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.067Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.067Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.067Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.067Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.067Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.067Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.067Z] code = main()
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.067Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.067Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.067Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.067Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.067Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.067Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.067Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.067Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.067Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.067Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.067Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.067Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.067Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.067Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.067Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.067Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.067Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.067Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.067Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.067Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.067Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.067Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.067Z] item.runtest()
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.067Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.067Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.067Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.067Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.067Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.067Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 21, in test_debug_renderer_filled
[2024-06-23T21:30:38.067Z] from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.067Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.067Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.067Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.067Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.067Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.067Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.067Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.067Z] from matplotlib._path import (
[2024-06-23T21:30:38.067Z] Traceback (most recent call last):
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.067Z] raise ImportError(msg)
[2024-06-23T21:30:38.067Z] ImportError:
[2024-06-23T21:30:38.067Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.067Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.067Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.067Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.067Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.067Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] ____________ test_debug_renderer_filled[ChunkCombinedOffset-False] _____________
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] show_text = False, fill_type = <FillType.ChunkCombinedOffset: 204>
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] @pytest.mark.image
[2024-06-23T21:30:38.067Z] @pytest.mark.text
[2024-06-23T21:30:38.067Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.067Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.067Z] def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str) -> None:
[2024-06-23T21:30:38.067Z] > from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] tests/test_renderer.py:21:
[2024-06-23T21:30:38.067Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.067Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.067Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.067Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.067Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.067Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.067Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.067Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.067Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.067Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.067Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.067Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.067Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.067Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] """
[2024-06-23T21:30:38.067Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.067Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.067Z] elements drawn on the canvas.
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.067Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.067Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.067Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.067Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.067Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.067Z] interactive performance.
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.067Z] to the graph:
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.067Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.067Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.067Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.067Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.067Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.067Z] themselves.
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.067Z] of how to use transforms.
[2024-06-23T21:30:38.067Z] """
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.067Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.067Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] import copy
[2024-06-23T21:30:38.067Z] import functools
[2024-06-23T21:30:38.067Z] import textwrap
[2024-06-23T21:30:38.067Z] import weakref
[2024-06-23T21:30:38.067Z] import math
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] import numpy as np
[2024-06-23T21:30:38.067Z] from numpy.linalg import inv
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] from matplotlib import _api
[2024-06-23T21:30:38.067Z] > from matplotlib._path import (
[2024-06-23T21:30:38.067Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.067Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.067Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.067Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.067Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.067Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.067Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.067Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.067Z]
[2024-06-23T21:30:38.067Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.067Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.067Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.067Z] code = main()
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.067Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.067Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.067Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.067Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.067Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.067Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.067Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.067Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.067Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.067Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.067Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.067Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.067Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.067Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.068Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.068Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.068Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.068Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.068Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.068Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.068Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.068Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.068Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.068Z] item.runtest()
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.068Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.068Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.068Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.068Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.068Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.068Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 21, in test_debug_renderer_filled
[2024-06-23T21:30:38.068Z] from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.068Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.068Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.068Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.068Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.068Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.068Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.068Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.068Z] from matplotlib._path import (
[2024-06-23T21:30:38.068Z] Traceback (most recent call last):
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.068Z] raise ImportError(msg)
[2024-06-23T21:30:38.068Z] ImportError:
[2024-06-23T21:30:38.068Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.068Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.068Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.068Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.068Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.068Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] __________ test_debug_renderer_filled[ChunkCombinedCodeOffset-False] ___________
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] show_text = False, fill_type = <FillType.ChunkCombinedCodeOffset: 205>
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] @pytest.mark.image
[2024-06-23T21:30:38.068Z] @pytest.mark.text
[2024-06-23T21:30:38.068Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.068Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.068Z] def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str) -> None:
[2024-06-23T21:30:38.068Z] > from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] tests/test_renderer.py:21:
[2024-06-23T21:30:38.068Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.068Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.068Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.068Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.068Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.068Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.068Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.068Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.068Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.068Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.068Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.068Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.068Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.068Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] """
[2024-06-23T21:30:38.068Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.068Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.068Z] elements drawn on the canvas.
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.068Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.068Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.068Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.068Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.068Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.068Z] interactive performance.
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.068Z] to the graph:
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.068Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.068Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.068Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.068Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.068Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.068Z] themselves.
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.068Z] of how to use transforms.
[2024-06-23T21:30:38.068Z] """
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.068Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.068Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] import copy
[2024-06-23T21:30:38.068Z] import functools
[2024-06-23T21:30:38.068Z] import textwrap
[2024-06-23T21:30:38.068Z] import weakref
[2024-06-23T21:30:38.068Z] import math
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] import numpy as np
[2024-06-23T21:30:38.068Z] from numpy.linalg import inv
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] from matplotlib import _api
[2024-06-23T21:30:38.068Z] > from matplotlib._path import (
[2024-06-23T21:30:38.068Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.068Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.068Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.068Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.068Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.068Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.068Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.068Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.068Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.068Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.068Z] code = main()
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.068Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.068Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.068Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.068Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.068Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.068Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.068Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.068Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.068Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.068Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.068Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.068Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.068Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.068Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.068Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.068Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.068Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.068Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.068Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.068Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.068Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.068Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.068Z] item.runtest()
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.068Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.068Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.068Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.068Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.068Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.068Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 21, in test_debug_renderer_filled
[2024-06-23T21:30:38.068Z] from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.068Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.068Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.068Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.068Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.068Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.068Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.068Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.068Z] from matplotlib._path import (
[2024-06-23T21:30:38.068Z] Traceback (most recent call last):
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.068Z] raise ImportError(msg)
[2024-06-23T21:30:38.068Z] ImportError:
[2024-06-23T21:30:38.068Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.068Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.068Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.068Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.068Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.068Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] _________ test_debug_renderer_filled[ChunkCombinedOffsetOffset-False] __________
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] show_text = False, fill_type = <FillType.ChunkCombinedOffsetOffset: 206>
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] @pytest.mark.image
[2024-06-23T21:30:38.068Z] @pytest.mark.text
[2024-06-23T21:30:38.068Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.068Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.068Z] def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str) -> None:
[2024-06-23T21:30:38.068Z] > from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] tests/test_renderer.py:21:
[2024-06-23T21:30:38.068Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.068Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.068Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.068Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.068Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.068Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.068Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.068Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.068Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.068Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.068Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.068Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.068Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.068Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] """
[2024-06-23T21:30:38.068Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.068Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.068Z] elements drawn on the canvas.
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.068Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.068Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.068Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.068Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.068Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.068Z] interactive performance.
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.068Z] to the graph:
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.068Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.068Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.068Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.068Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.068Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.068Z] themselves.
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.068Z] of how to use transforms.
[2024-06-23T21:30:38.068Z] """
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.068Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.068Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] import copy
[2024-06-23T21:30:38.068Z] import functools
[2024-06-23T21:30:38.068Z] import textwrap
[2024-06-23T21:30:38.068Z] import weakref
[2024-06-23T21:30:38.068Z] import math
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] import numpy as np
[2024-06-23T21:30:38.068Z] from numpy.linalg import inv
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] from matplotlib import _api
[2024-06-23T21:30:38.068Z] > from matplotlib._path import (
[2024-06-23T21:30:38.068Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.068Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.068Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.068Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.068Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.068Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.068Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.068Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.068Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.068Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.068Z] code = main()
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.068Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.068Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.068Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.068Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.068Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.068Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.068Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.068Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.068Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.068Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.068Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.068Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.068Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.068Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.068Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.068Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.068Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.068Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.068Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.068Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.068Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.068Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.068Z] item.runtest()
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.068Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.068Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.068Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.068Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.068Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.068Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 21, in test_debug_renderer_filled
[2024-06-23T21:30:38.068Z] from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.068Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.068Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.068Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.068Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.068Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.068Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.068Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.068Z] from matplotlib._path import (
[2024-06-23T21:30:38.068Z] Traceback (most recent call last):
[2024-06-23T21:30:38.068Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.068Z] raise ImportError(msg)
[2024-06-23T21:30:38.068Z] ImportError:
[2024-06-23T21:30:38.068Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.068Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.068Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.068Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.068Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.068Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.068Z]
[2024-06-23T21:30:38.069Z] _________________ test_debug_renderer_filled[OuterCode1-False] _________________
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] show_text = False, fill_type = 'OuterCode'
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] @pytest.mark.image
[2024-06-23T21:30:38.069Z] @pytest.mark.text
[2024-06-23T21:30:38.069Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.069Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.069Z] def test_debug_renderer_filled(show_text: bool, fill_type: FillType | str) -> None:
[2024-06-23T21:30:38.069Z] > from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] tests/test_renderer.py:21:
[2024-06-23T21:30:38.069Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.069Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.069Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.069Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.069Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.069Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.069Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.069Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.069Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.069Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.069Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.069Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.069Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.069Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] """
[2024-06-23T21:30:38.069Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.069Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.069Z] elements drawn on the canvas.
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.069Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.069Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.069Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.069Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.069Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.069Z] interactive performance.
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.069Z] to the graph:
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.069Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.069Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.069Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.069Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.069Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.069Z] themselves.
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.069Z] of how to use transforms.
[2024-06-23T21:30:38.069Z] """
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.069Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.069Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] import copy
[2024-06-23T21:30:38.069Z] import functools
[2024-06-23T21:30:38.069Z] import textwrap
[2024-06-23T21:30:38.069Z] import weakref
[2024-06-23T21:30:38.069Z] import math
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] import numpy as np
[2024-06-23T21:30:38.069Z] from numpy.linalg import inv
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] from matplotlib import _api
[2024-06-23T21:30:38.069Z] > from matplotlib._path import (
[2024-06-23T21:30:38.069Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.069Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.069Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.069Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.069Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.069Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.069Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.069Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.069Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.069Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.069Z] code = main()
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.069Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.069Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.069Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.069Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.069Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.069Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.069Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.069Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.069Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.069Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.069Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.069Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.069Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.069Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.069Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.069Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.069Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.069Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.069Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.069Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.069Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.069Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.069Z] item.runtest()
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.069Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.069Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.069Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.069Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.069Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.069Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 21, in test_debug_renderer_filled
[2024-06-23T21:30:38.069Z] from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.069Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.069Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.069Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.069Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.069Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.069Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.069Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.069Z] from matplotlib._path import (
[2024-06-23T21:30:38.069Z] Traceback (most recent call last):
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.069Z] raise ImportError(msg)
[2024-06-23T21:30:38.069Z] ImportError:
[2024-06-23T21:30:38.069Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.069Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.069Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.069Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.069Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.069Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] __________________ test_debug_renderer_lines[Separate0-False] __________________
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] show_text = False, line_type = <LineType.Separate: 101>
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] @pytest.mark.image
[2024-06-23T21:30:38.069Z] @pytest.mark.text
[2024-06-23T21:30:38.069Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.069Z] @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"])
[2024-06-23T21:30:38.069Z] def test_debug_renderer_lines(show_text: bool, line_type: LineType) -> None:
[2024-06-23T21:30:38.069Z] > from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] tests/test_renderer.py:49:
[2024-06-23T21:30:38.069Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.069Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.069Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.069Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.069Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.069Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.069Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.069Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.069Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.069Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.069Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.069Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.069Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.069Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] """
[2024-06-23T21:30:38.069Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.069Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.069Z] elements drawn on the canvas.
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.069Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.069Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.069Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.069Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.069Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.069Z] interactive performance.
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.069Z] to the graph:
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.069Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.069Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.069Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.069Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.069Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.069Z] themselves.
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.069Z] of how to use transforms.
[2024-06-23T21:30:38.069Z] """
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.069Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.069Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] import copy
[2024-06-23T21:30:38.069Z] import functools
[2024-06-23T21:30:38.069Z] import textwrap
[2024-06-23T21:30:38.069Z] import weakref
[2024-06-23T21:30:38.069Z] import math
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] import numpy as np
[2024-06-23T21:30:38.069Z] from numpy.linalg import inv
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] from matplotlib import _api
[2024-06-23T21:30:38.069Z] > from matplotlib._path import (
[2024-06-23T21:30:38.069Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.069Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.069Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.069Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.069Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.069Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.069Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.069Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.069Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.069Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.069Z] code = main()
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.069Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.069Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.069Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.069Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.069Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.069Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.069Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.069Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.069Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.069Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.069Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.069Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.069Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.069Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.069Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.069Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.069Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.069Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.069Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.069Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.069Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.069Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.069Z] item.runtest()
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.069Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.069Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.069Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.069Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.069Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.069Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 49, in test_debug_renderer_lines
[2024-06-23T21:30:38.069Z] from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.069Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.069Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.069Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.069Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.069Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.069Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.069Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.069Z] from matplotlib._path import (
[2024-06-23T21:30:38.069Z] Traceback (most recent call last):
[2024-06-23T21:30:38.069Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.069Z] raise ImportError(msg)
[2024-06-23T21:30:38.069Z] ImportError:
[2024-06-23T21:30:38.069Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.069Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.069Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.069Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.069Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.069Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] ________________ test_debug_renderer_lines[SeparateCode-False] _________________
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] show_text = False, line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] @pytest.mark.image
[2024-06-23T21:30:38.069Z] @pytest.mark.text
[2024-06-23T21:30:38.069Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.069Z] @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"])
[2024-06-23T21:30:38.069Z] def test_debug_renderer_lines(show_text: bool, line_type: LineType) -> None:
[2024-06-23T21:30:38.069Z] > from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] tests/test_renderer.py:49:
[2024-06-23T21:30:38.069Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.069Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.069Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.069Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.069Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.069Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.069Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.069Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.069Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.069Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.069Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.069Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.069Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.069Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] """
[2024-06-23T21:30:38.069Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.069Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.069Z] elements drawn on the canvas.
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.069Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.069Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.069Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.069Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.069Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.069Z] interactive performance.
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.069Z] to the graph:
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.069Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.069Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.069Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.069Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.069Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.069Z]
[2024-06-23T21:30:38.069Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.070Z] themselves.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.070Z] of how to use transforms.
[2024-06-23T21:30:38.070Z] """
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.070Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.070Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] import copy
[2024-06-23T21:30:38.070Z] import functools
[2024-06-23T21:30:38.070Z] import textwrap
[2024-06-23T21:30:38.070Z] import weakref
[2024-06-23T21:30:38.070Z] import math
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] import numpy as np
[2024-06-23T21:30:38.070Z] from numpy.linalg import inv
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] from matplotlib import _api
[2024-06-23T21:30:38.070Z] > from matplotlib._path import (
[2024-06-23T21:30:38.070Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.070Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.070Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.070Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.070Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.070Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.070Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.070Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.070Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.070Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.070Z] code = main()
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.070Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.070Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.070Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.070Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.070Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.070Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.070Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.070Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.070Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.070Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.070Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.070Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.070Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.070Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.070Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.070Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.070Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.070Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.070Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.070Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.070Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.070Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.070Z] item.runtest()
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.070Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.070Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.070Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.070Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.070Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.070Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 49, in test_debug_renderer_lines
[2024-06-23T21:30:38.070Z] from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.070Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.070Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.070Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.070Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.070Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.070Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.070Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.070Z] from matplotlib._path import (
[2024-06-23T21:30:38.070Z] Traceback (most recent call last):
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.070Z] raise ImportError(msg)
[2024-06-23T21:30:38.070Z] ImportError:
[2024-06-23T21:30:38.070Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.070Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.070Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.070Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.070Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.070Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] ______________ test_debug_renderer_lines[ChunkCombinedCode-False] ______________
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] show_text = False, line_type = <LineType.ChunkCombinedCode: 103>
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] @pytest.mark.image
[2024-06-23T21:30:38.070Z] @pytest.mark.text
[2024-06-23T21:30:38.070Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.070Z] @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"])
[2024-06-23T21:30:38.070Z] def test_debug_renderer_lines(show_text: bool, line_type: LineType) -> None:
[2024-06-23T21:30:38.070Z] > from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] tests/test_renderer.py:49:
[2024-06-23T21:30:38.070Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.070Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.070Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.070Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.070Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.070Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.070Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.070Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.070Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.070Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.070Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.070Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.070Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.070Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] """
[2024-06-23T21:30:38.070Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.070Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.070Z] elements drawn on the canvas.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.070Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.070Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.070Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.070Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.070Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.070Z] interactive performance.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.070Z] to the graph:
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.070Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.070Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.070Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.070Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.070Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.070Z] themselves.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.070Z] of how to use transforms.
[2024-06-23T21:30:38.070Z] """
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.070Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.070Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] import copy
[2024-06-23T21:30:38.070Z] import functools
[2024-06-23T21:30:38.070Z] import textwrap
[2024-06-23T21:30:38.070Z] import weakref
[2024-06-23T21:30:38.070Z] import math
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] import numpy as np
[2024-06-23T21:30:38.070Z] from numpy.linalg import inv
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] from matplotlib import _api
[2024-06-23T21:30:38.070Z] > from matplotlib._path import (
[2024-06-23T21:30:38.070Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.070Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.070Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.070Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.070Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.070Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.070Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.070Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.070Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.070Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.070Z] code = main()
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.070Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.070Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.070Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.070Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.070Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.070Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.070Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.070Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.070Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.070Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.070Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.070Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.070Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.070Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.070Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.070Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.070Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.070Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.070Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.070Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.070Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.070Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.070Z] item.runtest()
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.070Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.070Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.070Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.070Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.070Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.070Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 49, in test_debug_renderer_lines
[2024-06-23T21:30:38.070Z] from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.070Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.070Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.070Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.070Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.070Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.070Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.070Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.070Z] from matplotlib._path import (
[2024-06-23T21:30:38.070Z] Traceback (most recent call last):
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.070Z] raise ImportError(msg)
[2024-06-23T21:30:38.070Z] ImportError:
[2024-06-23T21:30:38.070Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.070Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.070Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.070Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.070Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.070Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] _____________ test_debug_renderer_lines[ChunkCombinedOffset-False] _____________
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] show_text = False, line_type = <LineType.ChunkCombinedOffset: 104>
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] @pytest.mark.image
[2024-06-23T21:30:38.070Z] @pytest.mark.text
[2024-06-23T21:30:38.070Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.070Z] @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"])
[2024-06-23T21:30:38.070Z] def test_debug_renderer_lines(show_text: bool, line_type: LineType) -> None:
[2024-06-23T21:30:38.070Z] > from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] tests/test_renderer.py:49:
[2024-06-23T21:30:38.070Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.070Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.070Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.070Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.070Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.070Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.070Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.070Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.070Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.070Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.070Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.070Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.070Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.070Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] """
[2024-06-23T21:30:38.070Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.070Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.070Z] elements drawn on the canvas.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.070Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.070Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.070Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.070Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.070Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.070Z] interactive performance.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.070Z] to the graph:
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.070Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.070Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.070Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.070Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.070Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.070Z] themselves.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.070Z] of how to use transforms.
[2024-06-23T21:30:38.070Z] """
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.070Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.070Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] import copy
[2024-06-23T21:30:38.070Z] import functools
[2024-06-23T21:30:38.070Z] import textwrap
[2024-06-23T21:30:38.070Z] import weakref
[2024-06-23T21:30:38.070Z] import math
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] import numpy as np
[2024-06-23T21:30:38.070Z] from numpy.linalg import inv
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] from matplotlib import _api
[2024-06-23T21:30:38.070Z] > from matplotlib._path import (
[2024-06-23T21:30:38.070Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.070Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.070Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.070Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.070Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.070Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.070Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.070Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.070Z]
[2024-06-23T21:30:38.070Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.070Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.070Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.070Z] code = main()
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.070Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.070Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.070Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.070Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.070Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.070Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.070Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.070Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.070Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.070Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.070Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.070Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.070Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.071Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.071Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.071Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.071Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.071Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.071Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.071Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.071Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.071Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.071Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.071Z] item.runtest()
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.071Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.071Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.071Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.071Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.071Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.071Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 49, in test_debug_renderer_lines
[2024-06-23T21:30:38.071Z] from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.071Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.071Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.071Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.071Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.071Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.071Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.071Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.071Z] from matplotlib._path import (
[2024-06-23T21:30:38.071Z] Traceback (most recent call last):
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.071Z] raise ImportError(msg)
[2024-06-23T21:30:38.071Z] ImportError:
[2024-06-23T21:30:38.071Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.071Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.071Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.071Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.071Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.071Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] ______________ test_debug_renderer_lines[ChunkCombinedNan-False] _______________
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] show_text = False, line_type = <LineType.ChunkCombinedNan: 105>
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] @pytest.mark.image
[2024-06-23T21:30:38.071Z] @pytest.mark.text
[2024-06-23T21:30:38.071Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.071Z] @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"])
[2024-06-23T21:30:38.071Z] def test_debug_renderer_lines(show_text: bool, line_type: LineType) -> None:
[2024-06-23T21:30:38.071Z] > from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] tests/test_renderer.py:49:
[2024-06-23T21:30:38.071Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.071Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.071Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.071Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.071Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.071Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.071Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.071Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.071Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.071Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.071Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.071Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.071Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.071Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] """
[2024-06-23T21:30:38.071Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.071Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.071Z] elements drawn on the canvas.
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.071Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.071Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.071Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.071Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.071Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.071Z] interactive performance.
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.071Z] to the graph:
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.071Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.071Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.071Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.071Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.071Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.071Z] themselves.
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.071Z] of how to use transforms.
[2024-06-23T21:30:38.071Z] """
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.071Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.071Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] import copy
[2024-06-23T21:30:38.071Z] import functools
[2024-06-23T21:30:38.071Z] import textwrap
[2024-06-23T21:30:38.071Z] import weakref
[2024-06-23T21:30:38.071Z] import math
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] import numpy as np
[2024-06-23T21:30:38.071Z] from numpy.linalg import inv
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] from matplotlib import _api
[2024-06-23T21:30:38.071Z] > from matplotlib._path import (
[2024-06-23T21:30:38.071Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.071Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.071Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.071Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.071Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.071Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.071Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.071Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.071Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.071Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.071Z] code = main()
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.071Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.071Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.071Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.071Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.071Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.071Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.071Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.071Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.071Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.071Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.071Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.071Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.071Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.071Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.071Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.071Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.071Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.071Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.071Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.071Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.071Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.071Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.071Z] item.runtest()
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.071Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.071Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.071Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.071Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.071Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.071Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 49, in test_debug_renderer_lines
[2024-06-23T21:30:38.071Z] from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.071Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.071Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.071Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.071Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.071Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.071Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.071Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.071Z] from matplotlib._path import (
[2024-06-23T21:30:38.071Z] Traceback (most recent call last):
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.071Z] raise ImportError(msg)
[2024-06-23T21:30:38.071Z] ImportError:
[2024-06-23T21:30:38.071Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.071Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.071Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.071Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.071Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.071Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] __________________ test_debug_renderer_lines[Separate1-False] __________________
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] show_text = False, line_type = 'Separate'
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] @pytest.mark.image
[2024-06-23T21:30:38.071Z] @pytest.mark.text
[2024-06-23T21:30:38.071Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.071Z] @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"])
[2024-06-23T21:30:38.071Z] def test_debug_renderer_lines(show_text: bool, line_type: LineType) -> None:
[2024-06-23T21:30:38.071Z] > from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] tests/test_renderer.py:49:
[2024-06-23T21:30:38.071Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.071Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.071Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.071Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.071Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.071Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.071Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.071Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.071Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.071Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.071Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.071Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.071Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.071Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] """
[2024-06-23T21:30:38.071Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.071Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.071Z] elements drawn on the canvas.
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.071Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.071Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.071Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.071Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.071Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.071Z] interactive performance.
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.071Z] to the graph:
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.071Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.071Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.071Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.071Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.071Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.071Z] themselves.
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.071Z] of how to use transforms.
[2024-06-23T21:30:38.071Z] """
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.071Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.071Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] import copy
[2024-06-23T21:30:38.071Z] import functools
[2024-06-23T21:30:38.071Z] import textwrap
[2024-06-23T21:30:38.071Z] import weakref
[2024-06-23T21:30:38.071Z] import math
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] import numpy as np
[2024-06-23T21:30:38.071Z] from numpy.linalg import inv
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] from matplotlib import _api
[2024-06-23T21:30:38.071Z] > from matplotlib._path import (
[2024-06-23T21:30:38.071Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.071Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.071Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.071Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.071Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.071Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.071Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.071Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.071Z]
[2024-06-23T21:30:38.071Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.071Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.071Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.071Z] code = main()
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.071Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.071Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.071Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.071Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.071Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.071Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.071Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.071Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.071Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.071Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.071Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.071Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.071Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.071Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.071Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.071Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.071Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.071Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.071Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.071Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.071Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.071Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.071Z] item.runtest()
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.071Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.071Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.071Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.071Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.071Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.071Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 49, in test_debug_renderer_lines
[2024-06-23T21:30:38.071Z] from contourpy.util.mpl_renderer import MplDebugRenderer
[2024-06-23T21:30:38.071Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.071Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.071Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.071Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.072Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.072Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.072Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.072Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.072Z] from matplotlib._path import (
[2024-06-23T21:30:38.072Z] Traceback (most recent call last):
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.072Z] raise ImportError(msg)
[2024-06-23T21:30:38.072Z] ImportError:
[2024-06-23T21:30:38.072Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.072Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.072Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.072Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.072Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.072Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] _________________ test_renderer_filled[OuterCode0-False-False] _________________
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] show_text = False, debug = False, fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] @pytest.mark.image
[2024-06-23T21:30:38.072Z] @pytest.mark.text
[2024-06-23T21:30:38.072Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.072Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.072Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.072Z] def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType) -> None:
[2024-06-23T21:30:38.072Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] tests/test_renderer.py:78:
[2024-06-23T21:30:38.072Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.072Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.072Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.072Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.072Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.072Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.072Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.072Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.072Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.072Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.072Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.072Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.072Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.072Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] """
[2024-06-23T21:30:38.072Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.072Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.072Z] elements drawn on the canvas.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.072Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.072Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.072Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.072Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.072Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.072Z] interactive performance.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.072Z] to the graph:
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.072Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.072Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.072Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.072Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.072Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.072Z] themselves.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.072Z] of how to use transforms.
[2024-06-23T21:30:38.072Z] """
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.072Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.072Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] import copy
[2024-06-23T21:30:38.072Z] import functools
[2024-06-23T21:30:38.072Z] import textwrap
[2024-06-23T21:30:38.072Z] import weakref
[2024-06-23T21:30:38.072Z] import math
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] import numpy as np
[2024-06-23T21:30:38.072Z] from numpy.linalg import inv
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] from matplotlib import _api
[2024-06-23T21:30:38.072Z] > from matplotlib._path import (
[2024-06-23T21:30:38.072Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.072Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.072Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.072Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.072Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.072Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.072Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.072Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.072Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.072Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.072Z] code = main()
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.072Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.072Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.072Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.072Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.072Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.072Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.072Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.072Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.072Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.072Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.072Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.072Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.072Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.072Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.072Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.072Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.072Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.072Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.072Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.072Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.072Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.072Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.072Z] item.runtest()
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.072Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.072Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.072Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.072Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.072Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.072Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 78, in test_renderer_filled
[2024-06-23T21:30:38.072Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.072Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.072Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.072Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.072Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.072Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.072Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.072Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.072Z] from matplotlib._path import (
[2024-06-23T21:30:38.072Z] Traceback (most recent call last):
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.072Z] raise ImportError(msg)
[2024-06-23T21:30:38.072Z] ImportError:
[2024-06-23T21:30:38.072Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.072Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.072Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.072Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.072Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.072Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] _________________ test_renderer_filled[OuterCode0-True-False] __________________
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] show_text = False, debug = True, fill_type = <FillType.OuterCode: 201>
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] @pytest.mark.image
[2024-06-23T21:30:38.072Z] @pytest.mark.text
[2024-06-23T21:30:38.072Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.072Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.072Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.072Z] def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType) -> None:
[2024-06-23T21:30:38.072Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] tests/test_renderer.py:78:
[2024-06-23T21:30:38.072Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.072Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.072Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.072Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.072Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.072Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.072Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.072Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.072Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.072Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.072Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.072Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.072Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.072Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] """
[2024-06-23T21:30:38.072Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.072Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.072Z] elements drawn on the canvas.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.072Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.072Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.072Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.072Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.072Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.072Z] interactive performance.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.072Z] to the graph:
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.072Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.072Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.072Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.072Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.072Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.072Z] themselves.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.072Z] of how to use transforms.
[2024-06-23T21:30:38.072Z] """
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.072Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.072Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] import copy
[2024-06-23T21:30:38.072Z] import functools
[2024-06-23T21:30:38.072Z] import textwrap
[2024-06-23T21:30:38.072Z] import weakref
[2024-06-23T21:30:38.072Z] import math
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] import numpy as np
[2024-06-23T21:30:38.072Z] from numpy.linalg import inv
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] from matplotlib import _api
[2024-06-23T21:30:38.072Z] > from matplotlib._path import (
[2024-06-23T21:30:38.072Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.072Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.072Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.072Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.072Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.072Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.072Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.072Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.072Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.072Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.072Z] code = main()
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.072Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.072Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.072Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.072Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.072Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.072Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.072Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.072Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.072Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.072Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.072Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.072Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.072Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.072Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.072Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.072Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.072Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.072Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.072Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.072Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.072Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.072Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.072Z] item.runtest()
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.072Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.072Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.072Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.072Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.072Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.072Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 78, in test_renderer_filled
[2024-06-23T21:30:38.072Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.072Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.072Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.072Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.072Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.072Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.072Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.072Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.072Z] from matplotlib._path import (
[2024-06-23T21:30:38.072Z] Traceback (most recent call last):
[2024-06-23T21:30:38.072Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.072Z] raise ImportError(msg)
[2024-06-23T21:30:38.072Z] ImportError:
[2024-06-23T21:30:38.072Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.072Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.072Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.072Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.072Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.072Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] ________________ test_renderer_filled[OuterOffset-False-False] _________________
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] show_text = False, debug = False, fill_type = <FillType.OuterOffset: 202>
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] @pytest.mark.image
[2024-06-23T21:30:38.072Z] @pytest.mark.text
[2024-06-23T21:30:38.072Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.072Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.072Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.072Z] def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType) -> None:
[2024-06-23T21:30:38.072Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] tests/test_renderer.py:78:
[2024-06-23T21:30:38.072Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.072Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.072Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.072Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.072Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.072Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.072Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.072Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.072Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.072Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.072Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.072Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.072Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.072Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] """
[2024-06-23T21:30:38.072Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.072Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.072Z] elements drawn on the canvas.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.072Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.072Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.072Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.072Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.072Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.072Z] interactive performance.
[2024-06-23T21:30:38.072Z]
[2024-06-23T21:30:38.072Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.073Z] to the graph:
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.073Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.073Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.073Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.073Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.073Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.073Z] themselves.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.073Z] of how to use transforms.
[2024-06-23T21:30:38.073Z] """
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.073Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.073Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] import copy
[2024-06-23T21:30:38.073Z] import functools
[2024-06-23T21:30:38.073Z] import textwrap
[2024-06-23T21:30:38.073Z] import weakref
[2024-06-23T21:30:38.073Z] import math
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] import numpy as np
[2024-06-23T21:30:38.073Z] from numpy.linalg import inv
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] from matplotlib import _api
[2024-06-23T21:30:38.073Z] > from matplotlib._path import (
[2024-06-23T21:30:38.073Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.073Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.073Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.073Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.073Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.073Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.073Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.073Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.073Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.073Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.073Z] code = main()
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.073Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.073Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.073Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.073Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.073Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.073Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.073Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.073Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.073Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.073Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.073Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.073Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.073Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.073Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.073Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.073Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.073Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.073Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.073Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.073Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.073Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.073Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.073Z] item.runtest()
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.073Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.073Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.073Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.073Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.073Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.073Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 78, in test_renderer_filled
[2024-06-23T21:30:38.073Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.073Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.073Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.073Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.073Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.073Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.073Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.073Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.073Z] from matplotlib._path import (
[2024-06-23T21:30:38.073Z] Traceback (most recent call last):
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.073Z] raise ImportError(msg)
[2024-06-23T21:30:38.073Z] ImportError:
[2024-06-23T21:30:38.073Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.073Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.073Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.073Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.073Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.073Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] _________________ test_renderer_filled[OuterOffset-True-False] _________________
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] show_text = False, debug = True, fill_type = <FillType.OuterOffset: 202>
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] @pytest.mark.image
[2024-06-23T21:30:38.073Z] @pytest.mark.text
[2024-06-23T21:30:38.073Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.073Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.073Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.073Z] def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType) -> None:
[2024-06-23T21:30:38.073Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] tests/test_renderer.py:78:
[2024-06-23T21:30:38.073Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.073Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.073Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.073Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.073Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.073Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.073Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.073Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.073Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.073Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.073Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.073Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.073Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.073Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] """
[2024-06-23T21:30:38.073Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.073Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.073Z] elements drawn on the canvas.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.073Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.073Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.073Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.073Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.073Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.073Z] interactive performance.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.073Z] to the graph:
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.073Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.073Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.073Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.073Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.073Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.073Z] themselves.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.073Z] of how to use transforms.
[2024-06-23T21:30:38.073Z] """
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.073Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.073Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] import copy
[2024-06-23T21:30:38.073Z] import functools
[2024-06-23T21:30:38.073Z] import textwrap
[2024-06-23T21:30:38.073Z] import weakref
[2024-06-23T21:30:38.073Z] import math
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] import numpy as np
[2024-06-23T21:30:38.073Z] from numpy.linalg import inv
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] from matplotlib import _api
[2024-06-23T21:30:38.073Z] > from matplotlib._path import (
[2024-06-23T21:30:38.073Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.073Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.073Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.073Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.073Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.073Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.073Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.073Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.073Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.073Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.073Z] code = main()
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.073Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.073Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.073Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.073Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.073Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.073Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.073Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.073Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.073Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.073Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.073Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.073Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.073Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.073Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.073Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.073Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.073Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.073Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.073Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.073Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.073Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.073Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.073Z] item.runtest()
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.073Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.073Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.073Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.073Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.073Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.073Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 78, in test_renderer_filled
[2024-06-23T21:30:38.073Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.073Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.073Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.073Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.073Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.073Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.073Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.073Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.073Z] from matplotlib._path import (
[2024-06-23T21:30:38.073Z] Traceback (most recent call last):
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.073Z] raise ImportError(msg)
[2024-06-23T21:30:38.073Z] ImportError:
[2024-06-23T21:30:38.073Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.073Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.073Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.073Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.073Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.073Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] _____________ test_renderer_filled[ChunkCombinedCode-False-False] ______________
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] show_text = False, debug = False, fill_type = <FillType.ChunkCombinedCode: 203>
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] @pytest.mark.image
[2024-06-23T21:30:38.073Z] @pytest.mark.text
[2024-06-23T21:30:38.073Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.073Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.073Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.073Z] def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType) -> None:
[2024-06-23T21:30:38.073Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] tests/test_renderer.py:78:
[2024-06-23T21:30:38.073Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.073Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.073Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.073Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.073Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.073Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.073Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.073Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.073Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.073Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.073Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.073Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.073Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.073Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] """
[2024-06-23T21:30:38.073Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.073Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.073Z] elements drawn on the canvas.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.073Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.073Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.073Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.073Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.073Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.073Z] interactive performance.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.073Z] to the graph:
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.073Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.073Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.073Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.073Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.073Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.073Z] themselves.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.073Z] of how to use transforms.
[2024-06-23T21:30:38.073Z] """
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.073Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.073Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] import copy
[2024-06-23T21:30:38.073Z] import functools
[2024-06-23T21:30:38.073Z] import textwrap
[2024-06-23T21:30:38.073Z] import weakref
[2024-06-23T21:30:38.073Z] import math
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] import numpy as np
[2024-06-23T21:30:38.073Z] from numpy.linalg import inv
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] from matplotlib import _api
[2024-06-23T21:30:38.073Z] > from matplotlib._path import (
[2024-06-23T21:30:38.073Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.073Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.073Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.073Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.073Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.073Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.073Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.073Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.073Z]
[2024-06-23T21:30:38.073Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.073Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.073Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.073Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.074Z] code = main()
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.074Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.074Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.074Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.074Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.074Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.074Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.074Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.074Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.074Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.074Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.074Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.074Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.074Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.074Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.074Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.074Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.074Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.074Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.074Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.074Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.074Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.074Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.074Z] item.runtest()
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.074Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.074Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.074Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.074Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.074Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.074Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 78, in test_renderer_filled
[2024-06-23T21:30:38.074Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.074Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.074Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.074Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.074Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.074Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.074Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.074Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.074Z] from matplotlib._path import (
[2024-06-23T21:30:38.074Z] Traceback (most recent call last):
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.074Z] raise ImportError(msg)
[2024-06-23T21:30:38.074Z] ImportError:
[2024-06-23T21:30:38.074Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.074Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.074Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.074Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.074Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.074Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] ______________ test_renderer_filled[ChunkCombinedCode-True-False] ______________
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] show_text = False, debug = True, fill_type = <FillType.ChunkCombinedCode: 203>
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] @pytest.mark.image
[2024-06-23T21:30:38.074Z] @pytest.mark.text
[2024-06-23T21:30:38.074Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.074Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.074Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.074Z] def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType) -> None:
[2024-06-23T21:30:38.074Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] tests/test_renderer.py:78:
[2024-06-23T21:30:38.074Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.074Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.074Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.074Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.074Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.074Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.074Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.074Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.074Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.074Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.074Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.074Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.074Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.074Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] """
[2024-06-23T21:30:38.074Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.074Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.074Z] elements drawn on the canvas.
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.074Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.074Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.074Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.074Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.074Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.074Z] interactive performance.
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.074Z] to the graph:
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.074Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.074Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.074Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.074Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.074Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.074Z] themselves.
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.074Z] of how to use transforms.
[2024-06-23T21:30:38.074Z] """
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.074Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.074Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] import copy
[2024-06-23T21:30:38.074Z] import functools
[2024-06-23T21:30:38.074Z] import textwrap
[2024-06-23T21:30:38.074Z] import weakref
[2024-06-23T21:30:38.074Z] import math
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] import numpy as np
[2024-06-23T21:30:38.074Z] from numpy.linalg import inv
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] from matplotlib import _api
[2024-06-23T21:30:38.074Z] > from matplotlib._path import (
[2024-06-23T21:30:38.074Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.074Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.074Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.074Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.074Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.074Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.074Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.074Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.074Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.074Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.074Z] code = main()
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.074Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.074Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.074Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.074Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.074Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.074Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.074Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.074Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.074Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.074Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.074Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.074Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.074Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.074Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.074Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.074Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.074Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.074Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.074Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.074Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.074Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.074Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.074Z] item.runtest()
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.074Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.074Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.074Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.074Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.074Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.074Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 78, in test_renderer_filled
[2024-06-23T21:30:38.074Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.074Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.074Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.074Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.074Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.074Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.074Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.074Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.074Z] from matplotlib._path import (
[2024-06-23T21:30:38.074Z] Traceback (most recent call last):
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.074Z] raise ImportError(msg)
[2024-06-23T21:30:38.074Z] ImportError:
[2024-06-23T21:30:38.074Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.074Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.074Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.074Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.074Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.074Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] ____________ test_renderer_filled[ChunkCombinedOffset-False-False] _____________
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] show_text = False, debug = False
[2024-06-23T21:30:38.074Z] fill_type = <FillType.ChunkCombinedOffset: 204>
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] @pytest.mark.image
[2024-06-23T21:30:38.074Z] @pytest.mark.text
[2024-06-23T21:30:38.074Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.074Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.074Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.074Z] def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType) -> None:
[2024-06-23T21:30:38.074Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] tests/test_renderer.py:78:
[2024-06-23T21:30:38.074Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.074Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.074Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.074Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.074Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.074Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.074Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.074Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.074Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.074Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.074Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.074Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.074Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.074Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] """
[2024-06-23T21:30:38.074Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.074Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.074Z] elements drawn on the canvas.
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.074Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.074Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.074Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.074Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.074Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.074Z] interactive performance.
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.074Z] to the graph:
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.074Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.074Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.074Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.074Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.074Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.074Z] themselves.
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.074Z] of how to use transforms.
[2024-06-23T21:30:38.074Z] """
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.074Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.074Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] import copy
[2024-06-23T21:30:38.074Z] import functools
[2024-06-23T21:30:38.074Z] import textwrap
[2024-06-23T21:30:38.074Z] import weakref
[2024-06-23T21:30:38.074Z] import math
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] import numpy as np
[2024-06-23T21:30:38.074Z] from numpy.linalg import inv
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] from matplotlib import _api
[2024-06-23T21:30:38.074Z] > from matplotlib._path import (
[2024-06-23T21:30:38.074Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.074Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.074Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.074Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.074Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.074Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.074Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.074Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.074Z]
[2024-06-23T21:30:38.074Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.074Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.074Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.074Z] code = main()
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.074Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.074Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.074Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.074Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.074Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.074Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.074Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.074Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.074Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.074Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.074Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.074Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.074Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.074Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.074Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.074Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.074Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.074Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.074Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.074Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.074Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.074Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.074Z] item.runtest()
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.074Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.074Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.074Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.075Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.075Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.075Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.075Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 78, in test_renderer_filled
[2024-06-23T21:30:38.075Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.075Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.075Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.075Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.075Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.075Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.075Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.075Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.075Z] from matplotlib._path import (
[2024-06-23T21:30:38.075Z] Traceback (most recent call last):
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.075Z] raise ImportError(msg)
[2024-06-23T21:30:38.075Z] ImportError:
[2024-06-23T21:30:38.075Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.075Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.075Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.075Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.075Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.075Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] _____________ test_renderer_filled[ChunkCombinedOffset-True-False] _____________
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] show_text = False, debug = True, fill_type = <FillType.ChunkCombinedOffset: 204>
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] @pytest.mark.image
[2024-06-23T21:30:38.075Z] @pytest.mark.text
[2024-06-23T21:30:38.075Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.075Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.075Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.075Z] def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType) -> None:
[2024-06-23T21:30:38.075Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] tests/test_renderer.py:78:
[2024-06-23T21:30:38.075Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.075Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.075Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.075Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.075Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.075Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.075Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.075Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.075Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.075Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.075Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.075Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.075Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.075Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] """
[2024-06-23T21:30:38.075Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.075Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.075Z] elements drawn on the canvas.
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.075Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.075Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.075Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.075Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.075Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.075Z] interactive performance.
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.075Z] to the graph:
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.075Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.075Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.075Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.075Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.075Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.075Z] themselves.
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.075Z] of how to use transforms.
[2024-06-23T21:30:38.075Z] """
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.075Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.075Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] import copy
[2024-06-23T21:30:38.075Z] import functools
[2024-06-23T21:30:38.075Z] import textwrap
[2024-06-23T21:30:38.075Z] import weakref
[2024-06-23T21:30:38.075Z] import math
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] import numpy as np
[2024-06-23T21:30:38.075Z] from numpy.linalg import inv
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] from matplotlib import _api
[2024-06-23T21:30:38.075Z] > from matplotlib._path import (
[2024-06-23T21:30:38.075Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.075Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.075Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.075Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.075Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.075Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.075Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.075Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.075Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.075Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.075Z] code = main()
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.075Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.075Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.075Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.075Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.075Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.075Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.075Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.075Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.075Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.075Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.075Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.075Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.075Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.075Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.075Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.075Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.075Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.075Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.075Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.075Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.075Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.075Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.075Z] item.runtest()
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.075Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.075Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.075Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.075Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.075Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.075Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 78, in test_renderer_filled
[2024-06-23T21:30:38.075Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.075Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.075Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.075Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.075Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.075Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.075Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.075Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.075Z] from matplotlib._path import (
[2024-06-23T21:30:38.075Z] Traceback (most recent call last):
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.075Z] raise ImportError(msg)
[2024-06-23T21:30:38.075Z] ImportError:
[2024-06-23T21:30:38.075Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.075Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.075Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.075Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.075Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.075Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] __________ test_renderer_filled[ChunkCombinedCodeOffset-False-False] ___________
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] show_text = False, debug = False
[2024-06-23T21:30:38.075Z] fill_type = <FillType.ChunkCombinedCodeOffset: 205>
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] @pytest.mark.image
[2024-06-23T21:30:38.075Z] @pytest.mark.text
[2024-06-23T21:30:38.075Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.075Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.075Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.075Z] def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType) -> None:
[2024-06-23T21:30:38.075Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] tests/test_renderer.py:78:
[2024-06-23T21:30:38.075Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.075Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.075Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.075Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.075Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.075Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.075Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.075Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.075Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.075Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.075Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.075Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.075Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.075Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] """
[2024-06-23T21:30:38.075Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.075Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.075Z] elements drawn on the canvas.
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.075Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.075Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.075Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.075Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.075Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.075Z] interactive performance.
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.075Z] to the graph:
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.075Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.075Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.075Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.075Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.075Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.075Z] themselves.
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.075Z] of how to use transforms.
[2024-06-23T21:30:38.075Z] """
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.075Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.075Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] import copy
[2024-06-23T21:30:38.075Z] import functools
[2024-06-23T21:30:38.075Z] import textwrap
[2024-06-23T21:30:38.075Z] import weakref
[2024-06-23T21:30:38.075Z] import math
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] import numpy as np
[2024-06-23T21:30:38.075Z] from numpy.linalg import inv
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] from matplotlib import _api
[2024-06-23T21:30:38.075Z] > from matplotlib._path import (
[2024-06-23T21:30:38.075Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.075Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.075Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.075Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.075Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.075Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.075Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.075Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.075Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.075Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.075Z] code = main()
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.075Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.075Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.075Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.075Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.075Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.075Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.075Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.075Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.075Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.075Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.075Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.075Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.075Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.075Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.075Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.075Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.075Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.075Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.075Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.075Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.075Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.075Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.075Z] item.runtest()
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.075Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.075Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.075Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.075Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.075Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.075Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 78, in test_renderer_filled
[2024-06-23T21:30:38.075Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.075Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.075Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.075Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.075Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.075Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.075Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.075Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.075Z] from matplotlib._path import (
[2024-06-23T21:30:38.075Z] Traceback (most recent call last):
[2024-06-23T21:30:38.075Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.075Z] raise ImportError(msg)
[2024-06-23T21:30:38.075Z] ImportError:
[2024-06-23T21:30:38.075Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.075Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.075Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.075Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.075Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.075Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] ___________ test_renderer_filled[ChunkCombinedCodeOffset-True-False] ___________
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] show_text = False, debug = True
[2024-06-23T21:30:38.075Z] fill_type = <FillType.ChunkCombinedCodeOffset: 205>
[2024-06-23T21:30:38.075Z]
[2024-06-23T21:30:38.075Z] @pytest.mark.image
[2024-06-23T21:30:38.075Z] @pytest.mark.text
[2024-06-23T21:30:38.075Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.075Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.076Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.076Z] def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType) -> None:
[2024-06-23T21:30:38.076Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] tests/test_renderer.py:78:
[2024-06-23T21:30:38.076Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.076Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.076Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.076Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.076Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.076Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.076Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.076Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.076Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.076Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.076Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.076Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.076Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.076Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] """
[2024-06-23T21:30:38.076Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.076Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.076Z] elements drawn on the canvas.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.076Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.076Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.076Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.076Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.076Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.076Z] interactive performance.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.076Z] to the graph:
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.076Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.076Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.076Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.076Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.076Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.076Z] themselves.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.076Z] of how to use transforms.
[2024-06-23T21:30:38.076Z] """
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.076Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.076Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] import copy
[2024-06-23T21:30:38.076Z] import functools
[2024-06-23T21:30:38.076Z] import textwrap
[2024-06-23T21:30:38.076Z] import weakref
[2024-06-23T21:30:38.076Z] import math
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] import numpy as np
[2024-06-23T21:30:38.076Z] from numpy.linalg import inv
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] from matplotlib import _api
[2024-06-23T21:30:38.076Z] > from matplotlib._path import (
[2024-06-23T21:30:38.076Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.076Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.076Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.076Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.076Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.076Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.076Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.076Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.076Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.076Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.076Z] code = main()
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.076Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.076Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.076Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.076Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.076Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.076Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.076Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.076Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.076Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.076Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.076Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.076Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.076Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.076Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.076Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.076Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.076Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.076Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.076Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.076Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.076Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.076Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.076Z] item.runtest()
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.076Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.076Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.076Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.076Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.076Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.076Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 78, in test_renderer_filled
[2024-06-23T21:30:38.076Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.076Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.076Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.076Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.076Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.076Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.076Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.076Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.076Z] from matplotlib._path import (
[2024-06-23T21:30:38.076Z] Traceback (most recent call last):
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.076Z] raise ImportError(msg)
[2024-06-23T21:30:38.076Z] ImportError:
[2024-06-23T21:30:38.076Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.076Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.076Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.076Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.076Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.076Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] _________ test_renderer_filled[ChunkCombinedOffsetOffset-False-False] __________
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] show_text = False, debug = False
[2024-06-23T21:30:38.076Z] fill_type = <FillType.ChunkCombinedOffsetOffset: 206>
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] @pytest.mark.image
[2024-06-23T21:30:38.076Z] @pytest.mark.text
[2024-06-23T21:30:38.076Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.076Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.076Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.076Z] def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType) -> None:
[2024-06-23T21:30:38.076Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] tests/test_renderer.py:78:
[2024-06-23T21:30:38.076Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.076Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.076Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.076Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.076Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.076Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.076Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.076Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.076Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.076Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.076Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.076Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.076Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.076Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] """
[2024-06-23T21:30:38.076Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.076Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.076Z] elements drawn on the canvas.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.076Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.076Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.076Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.076Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.076Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.076Z] interactive performance.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.076Z] to the graph:
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.076Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.076Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.076Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.076Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.076Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.076Z] themselves.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.076Z] of how to use transforms.
[2024-06-23T21:30:38.076Z] """
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.076Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.076Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] import copy
[2024-06-23T21:30:38.076Z] import functools
[2024-06-23T21:30:38.076Z] import textwrap
[2024-06-23T21:30:38.076Z] import weakref
[2024-06-23T21:30:38.076Z] import math
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] import numpy as np
[2024-06-23T21:30:38.076Z] from numpy.linalg import inv
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] from matplotlib import _api
[2024-06-23T21:30:38.076Z] > from matplotlib._path import (
[2024-06-23T21:30:38.076Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.076Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.076Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.076Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.076Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.076Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.076Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.076Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.076Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.076Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.076Z] code = main()
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.076Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.076Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.076Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.076Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.076Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.076Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.076Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.076Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.076Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.076Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.076Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.076Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.076Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.076Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.076Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.076Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.076Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.076Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.076Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.076Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.076Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.076Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.076Z] item.runtest()
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.076Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.076Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.076Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.076Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.076Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.076Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 78, in test_renderer_filled
[2024-06-23T21:30:38.076Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.076Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.076Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.076Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.076Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.076Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.076Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.076Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.076Z] from matplotlib._path import (
[2024-06-23T21:30:38.076Z] Traceback (most recent call last):
[2024-06-23T21:30:38.076Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.076Z] raise ImportError(msg)
[2024-06-23T21:30:38.076Z] ImportError:
[2024-06-23T21:30:38.076Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.076Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.076Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.076Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.076Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.076Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] __________ test_renderer_filled[ChunkCombinedOffsetOffset-True-False] __________
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] show_text = False, debug = True
[2024-06-23T21:30:38.076Z] fill_type = <FillType.ChunkCombinedOffsetOffset: 206>
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] @pytest.mark.image
[2024-06-23T21:30:38.076Z] @pytest.mark.text
[2024-06-23T21:30:38.076Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.076Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.076Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.076Z] def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType) -> None:
[2024-06-23T21:30:38.076Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] tests/test_renderer.py:78:
[2024-06-23T21:30:38.076Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.076Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.076Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.076Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.076Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.076Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.076Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.076Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.076Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.076Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.076Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.076Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.076Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.076Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] """
[2024-06-23T21:30:38.076Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.076Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.076Z] elements drawn on the canvas.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.076Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.076Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.076Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.076Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.076Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.076Z] interactive performance.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.076Z] to the graph:
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.076Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.076Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.076Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.076Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.076Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.076Z] themselves.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.076Z] of how to use transforms.
[2024-06-23T21:30:38.076Z] """
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.076Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.076Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] import copy
[2024-06-23T21:30:38.076Z] import functools
[2024-06-23T21:30:38.076Z] import textwrap
[2024-06-23T21:30:38.076Z] import weakref
[2024-06-23T21:30:38.076Z] import math
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] import numpy as np
[2024-06-23T21:30:38.076Z] from numpy.linalg import inv
[2024-06-23T21:30:38.076Z]
[2024-06-23T21:30:38.076Z] from matplotlib import _api
[2024-06-23T21:30:38.076Z] > from matplotlib._path import (
[2024-06-23T21:30:38.076Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.076Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.077Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.077Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.077Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.077Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.077Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.077Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.077Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.077Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.077Z] code = main()
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.077Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.077Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.077Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.077Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.077Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.077Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.077Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.077Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.077Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.077Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.077Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.077Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.077Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.077Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.077Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.077Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.077Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.077Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.077Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.077Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.077Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.077Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.077Z] item.runtest()
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.077Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.077Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.077Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.077Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.077Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.077Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 78, in test_renderer_filled
[2024-06-23T21:30:38.077Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.077Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.077Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.077Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.077Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.077Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.077Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.077Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.077Z] from matplotlib._path import (
[2024-06-23T21:30:38.077Z] Traceback (most recent call last):
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.077Z] raise ImportError(msg)
[2024-06-23T21:30:38.077Z] ImportError:
[2024-06-23T21:30:38.077Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.077Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.077Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.077Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.077Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.077Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] _________________ test_renderer_filled[OuterCode1-False-False] _________________
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] show_text = False, debug = False, fill_type = 'OuterCode'
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] @pytest.mark.image
[2024-06-23T21:30:38.077Z] @pytest.mark.text
[2024-06-23T21:30:38.077Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.077Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.077Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.077Z] def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType) -> None:
[2024-06-23T21:30:38.077Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] tests/test_renderer.py:78:
[2024-06-23T21:30:38.077Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.077Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.077Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.077Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.077Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.077Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.077Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.077Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.077Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.077Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.077Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.077Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.077Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.077Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] """
[2024-06-23T21:30:38.077Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.077Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.077Z] elements drawn on the canvas.
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.077Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.077Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.077Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.077Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.077Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.077Z] interactive performance.
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.077Z] to the graph:
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.077Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.077Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.077Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.077Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.077Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.077Z] themselves.
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.077Z] of how to use transforms.
[2024-06-23T21:30:38.077Z] """
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.077Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.077Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] import copy
[2024-06-23T21:30:38.077Z] import functools
[2024-06-23T21:30:38.077Z] import textwrap
[2024-06-23T21:30:38.077Z] import weakref
[2024-06-23T21:30:38.077Z] import math
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] import numpy as np
[2024-06-23T21:30:38.077Z] from numpy.linalg import inv
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] from matplotlib import _api
[2024-06-23T21:30:38.077Z] > from matplotlib._path import (
[2024-06-23T21:30:38.077Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.077Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.077Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.077Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.077Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.077Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.077Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.077Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.077Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.077Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.077Z] code = main()
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.077Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.077Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.077Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.077Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.077Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.077Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.077Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.077Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.077Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.077Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.077Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.077Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.077Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.077Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.077Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.077Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.077Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.077Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.077Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.077Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.077Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.077Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.077Z] item.runtest()
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.077Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.077Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.077Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.077Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.077Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.077Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 78, in test_renderer_filled
[2024-06-23T21:30:38.077Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.077Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.077Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.077Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.077Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.077Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.077Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.077Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.077Z] from matplotlib._path import (
[2024-06-23T21:30:38.077Z] Traceback (most recent call last):
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.077Z] raise ImportError(msg)
[2024-06-23T21:30:38.077Z] ImportError:
[2024-06-23T21:30:38.077Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.077Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.077Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.077Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.077Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.077Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] _________________ test_renderer_filled[OuterCode1-True-False] __________________
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] show_text = False, debug = True, fill_type = 'OuterCode'
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] @pytest.mark.image
[2024-06-23T21:30:38.077Z] @pytest.mark.text
[2024-06-23T21:30:38.077Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.077Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.077Z] @pytest.mark.parametrize("fill_type", [*FillType.__members__.values(), "OuterCode"])
[2024-06-23T21:30:38.077Z] def test_renderer_filled(show_text: bool, debug: bool, fill_type: FillType) -> None:
[2024-06-23T21:30:38.077Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] tests/test_renderer.py:78:
[2024-06-23T21:30:38.077Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.077Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.077Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.077Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.077Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.077Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.077Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.077Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.077Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.077Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.077Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.077Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.077Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.077Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] """
[2024-06-23T21:30:38.077Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.077Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.077Z] elements drawn on the canvas.
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.077Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.077Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.077Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.077Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.077Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.077Z] interactive performance.
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.077Z] to the graph:
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.077Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.077Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.077Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.077Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.077Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.077Z] themselves.
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.077Z] of how to use transforms.
[2024-06-23T21:30:38.077Z] """
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.077Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.077Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] import copy
[2024-06-23T21:30:38.077Z] import functools
[2024-06-23T21:30:38.077Z] import textwrap
[2024-06-23T21:30:38.077Z] import weakref
[2024-06-23T21:30:38.077Z] import math
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] import numpy as np
[2024-06-23T21:30:38.077Z] from numpy.linalg import inv
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] from matplotlib import _api
[2024-06-23T21:30:38.077Z] > from matplotlib._path import (
[2024-06-23T21:30:38.077Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.077Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.077Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.077Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.077Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.077Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.077Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.077Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.077Z]
[2024-06-23T21:30:38.077Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.077Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.077Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.077Z] code = main()
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.077Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.077Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.077Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.077Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.077Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.077Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.077Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.077Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.077Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.077Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.077Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.078Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.078Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.078Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.078Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.078Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.078Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.078Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.078Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.078Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.078Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.078Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.078Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.078Z] item.runtest()
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.078Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.078Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.078Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.078Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.078Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.078Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 78, in test_renderer_filled
[2024-06-23T21:30:38.078Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.078Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.078Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.078Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.078Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.078Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.078Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.078Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.078Z] from matplotlib._path import (
[2024-06-23T21:30:38.078Z] Traceback (most recent call last):
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.078Z] raise ImportError(msg)
[2024-06-23T21:30:38.078Z] ImportError:
[2024-06-23T21:30:38.078Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.078Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.078Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.078Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.078Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.078Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] __________________ test_renderer_lines[Separate0-False-False] __________________
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] show_text = False, debug = False, line_type = <LineType.Separate: 101>
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] @pytest.mark.image
[2024-06-23T21:30:38.078Z] @pytest.mark.text
[2024-06-23T21:30:38.078Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.078Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.078Z] @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"])
[2024-06-23T21:30:38.078Z] def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType) -> None:
[2024-06-23T21:30:38.078Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] tests/test_renderer.py:124:
[2024-06-23T21:30:38.078Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.078Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.078Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.078Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.078Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.078Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.078Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.078Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.078Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.078Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.078Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.078Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.078Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.078Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] """
[2024-06-23T21:30:38.078Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.078Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.078Z] elements drawn on the canvas.
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.078Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.078Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.078Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.078Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.078Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.078Z] interactive performance.
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.078Z] to the graph:
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.078Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.078Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.078Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.078Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.078Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.078Z] themselves.
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.078Z] of how to use transforms.
[2024-06-23T21:30:38.078Z] """
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.078Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.078Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] import copy
[2024-06-23T21:30:38.078Z] import functools
[2024-06-23T21:30:38.078Z] import textwrap
[2024-06-23T21:30:38.078Z] import weakref
[2024-06-23T21:30:38.078Z] import math
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] import numpy as np
[2024-06-23T21:30:38.078Z] from numpy.linalg import inv
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] from matplotlib import _api
[2024-06-23T21:30:38.078Z] > from matplotlib._path import (
[2024-06-23T21:30:38.078Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.078Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.078Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.078Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.078Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.078Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.078Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.078Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.078Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.078Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.078Z] code = main()
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.078Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.078Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.078Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.078Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.078Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.078Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.078Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.078Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.078Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.078Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.078Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.078Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.078Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.078Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.078Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.078Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.078Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.078Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.078Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.078Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.078Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.078Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.078Z] item.runtest()
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.078Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.078Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.078Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.078Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.078Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.078Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 124, in test_renderer_lines
[2024-06-23T21:30:38.078Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.078Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.078Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.078Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.078Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.078Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.078Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.078Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.078Z] from matplotlib._path import (
[2024-06-23T21:30:38.078Z] Traceback (most recent call last):
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.078Z] raise ImportError(msg)
[2024-06-23T21:30:38.078Z] ImportError:
[2024-06-23T21:30:38.078Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.078Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.078Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.078Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.078Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.078Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] __________________ test_renderer_lines[Separate0-True-False] ___________________
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] show_text = False, debug = True, line_type = <LineType.Separate: 101>
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] @pytest.mark.image
[2024-06-23T21:30:38.078Z] @pytest.mark.text
[2024-06-23T21:30:38.078Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.078Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.078Z] @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"])
[2024-06-23T21:30:38.078Z] def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType) -> None:
[2024-06-23T21:30:38.078Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] tests/test_renderer.py:124:
[2024-06-23T21:30:38.078Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.078Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.078Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.078Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.078Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.078Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.078Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.078Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.078Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.078Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.078Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.078Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.078Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.078Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] """
[2024-06-23T21:30:38.078Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.078Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.078Z] elements drawn on the canvas.
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.078Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.078Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.078Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.078Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.078Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.078Z] interactive performance.
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.078Z] to the graph:
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.078Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.078Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.078Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.078Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.078Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.078Z] themselves.
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.078Z] of how to use transforms.
[2024-06-23T21:30:38.078Z] """
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.078Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.078Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] import copy
[2024-06-23T21:30:38.078Z] import functools
[2024-06-23T21:30:38.078Z] import textwrap
[2024-06-23T21:30:38.078Z] import weakref
[2024-06-23T21:30:38.078Z] import math
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] import numpy as np
[2024-06-23T21:30:38.078Z] from numpy.linalg import inv
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] from matplotlib import _api
[2024-06-23T21:30:38.078Z] > from matplotlib._path import (
[2024-06-23T21:30:38.078Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.078Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.078Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.078Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.078Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.078Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.078Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.078Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.078Z]
[2024-06-23T21:30:38.078Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.078Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.078Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.078Z] code = main()
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.078Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.078Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.078Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.078Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.078Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.078Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.078Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.078Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.078Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.078Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.078Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.078Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.078Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.078Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.078Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.078Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.078Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.078Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.078Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.078Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.078Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.078Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.078Z] item.runtest()
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.078Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.078Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.078Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.078Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.078Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.078Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.078Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 124, in test_renderer_lines
[2024-06-23T21:30:38.078Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.079Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.079Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.079Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.079Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.079Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.079Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.079Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.079Z] from matplotlib._path import (
[2024-06-23T21:30:38.079Z] Traceback (most recent call last):
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.079Z] raise ImportError(msg)
[2024-06-23T21:30:38.079Z] ImportError:
[2024-06-23T21:30:38.079Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.079Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.079Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.079Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.079Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.079Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] ________________ test_renderer_lines[SeparateCode-False-False] _________________
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] show_text = False, debug = False, line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] @pytest.mark.image
[2024-06-23T21:30:38.079Z] @pytest.mark.text
[2024-06-23T21:30:38.079Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.079Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.079Z] @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"])
[2024-06-23T21:30:38.079Z] def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType) -> None:
[2024-06-23T21:30:38.079Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] tests/test_renderer.py:124:
[2024-06-23T21:30:38.079Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.079Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.079Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.079Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.079Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.079Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.079Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.079Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.079Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.079Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.079Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.079Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.079Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.079Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] """
[2024-06-23T21:30:38.079Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.079Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.079Z] elements drawn on the canvas.
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.079Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.079Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.079Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.079Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.079Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.079Z] interactive performance.
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.079Z] to the graph:
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.079Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.079Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.079Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.079Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.079Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.079Z] themselves.
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.079Z] of how to use transforms.
[2024-06-23T21:30:38.079Z] """
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.079Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.079Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] import copy
[2024-06-23T21:30:38.079Z] import functools
[2024-06-23T21:30:38.079Z] import textwrap
[2024-06-23T21:30:38.079Z] import weakref
[2024-06-23T21:30:38.079Z] import math
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] import numpy as np
[2024-06-23T21:30:38.079Z] from numpy.linalg import inv
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] from matplotlib import _api
[2024-06-23T21:30:38.079Z] > from matplotlib._path import (
[2024-06-23T21:30:38.079Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.079Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.079Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.079Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.079Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.079Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.079Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.079Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.079Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.079Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.079Z] code = main()
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.079Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.079Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.079Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.079Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.079Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.079Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.079Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.079Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.079Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.079Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.079Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.079Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.079Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.079Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.079Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.079Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.079Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.079Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.079Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.079Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.079Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.079Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.079Z] item.runtest()
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.079Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.079Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.079Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.079Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.079Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.079Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 124, in test_renderer_lines
[2024-06-23T21:30:38.079Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.079Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.079Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.079Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.079Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.079Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.079Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.079Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.079Z] from matplotlib._path import (
[2024-06-23T21:30:38.079Z] Traceback (most recent call last):
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.079Z] raise ImportError(msg)
[2024-06-23T21:30:38.079Z] ImportError:
[2024-06-23T21:30:38.079Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.079Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.079Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.079Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.079Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.079Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] _________________ test_renderer_lines[SeparateCode-True-False] _________________
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] show_text = False, debug = True, line_type = <LineType.SeparateCode: 102>
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] @pytest.mark.image
[2024-06-23T21:30:38.079Z] @pytest.mark.text
[2024-06-23T21:30:38.079Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.079Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.079Z] @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"])
[2024-06-23T21:30:38.079Z] def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType) -> None:
[2024-06-23T21:30:38.079Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] tests/test_renderer.py:124:
[2024-06-23T21:30:38.079Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.079Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.079Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.079Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.079Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.079Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.079Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.079Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.079Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.079Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.079Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.079Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.079Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.079Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] """
[2024-06-23T21:30:38.079Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.079Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.079Z] elements drawn on the canvas.
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.079Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.079Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.079Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.079Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.079Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.079Z] interactive performance.
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.079Z] to the graph:
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.079Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.079Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.079Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.079Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.079Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.079Z] themselves.
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.079Z] of how to use transforms.
[2024-06-23T21:30:38.079Z] """
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.079Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.079Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] import copy
[2024-06-23T21:30:38.079Z] import functools
[2024-06-23T21:30:38.079Z] import textwrap
[2024-06-23T21:30:38.079Z] import weakref
[2024-06-23T21:30:38.079Z] import math
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] import numpy as np
[2024-06-23T21:30:38.079Z] from numpy.linalg import inv
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] from matplotlib import _api
[2024-06-23T21:30:38.079Z] > from matplotlib._path import (
[2024-06-23T21:30:38.079Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.079Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.079Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.079Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.079Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.079Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.079Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.079Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.079Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.079Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.079Z] code = main()
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.079Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.079Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.079Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.079Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.079Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.079Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.079Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.079Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.079Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.079Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.079Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.079Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.079Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.079Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.079Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.079Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.079Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.079Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.079Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.079Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.079Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.079Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.079Z] item.runtest()
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.079Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.079Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.079Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.079Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.079Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.079Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 124, in test_renderer_lines
[2024-06-23T21:30:38.079Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.079Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.079Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.079Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.079Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.079Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.079Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.079Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.079Z] from matplotlib._path import (
[2024-06-23T21:30:38.079Z] Traceback (most recent call last):
[2024-06-23T21:30:38.079Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.079Z] raise ImportError(msg)
[2024-06-23T21:30:38.079Z] ImportError:
[2024-06-23T21:30:38.079Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.079Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.079Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.079Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.079Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.079Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] ______________ test_renderer_lines[ChunkCombinedCode-False-False] ______________
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] show_text = False, debug = False, line_type = <LineType.ChunkCombinedCode: 103>
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] @pytest.mark.image
[2024-06-23T21:30:38.079Z] @pytest.mark.text
[2024-06-23T21:30:38.079Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.079Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.079Z] @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"])
[2024-06-23T21:30:38.079Z] def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType) -> None:
[2024-06-23T21:30:38.079Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] tests/test_renderer.py:124:
[2024-06-23T21:30:38.079Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.079Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.079Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.079Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.079Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.079Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.079Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.079Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.079Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.079Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.079Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.079Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.079Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.079Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] """
[2024-06-23T21:30:38.079Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.079Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.079Z] elements drawn on the canvas.
[2024-06-23T21:30:38.079Z]
[2024-06-23T21:30:38.079Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.079Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.079Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.079Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.080Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.080Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.080Z] interactive performance.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.080Z] to the graph:
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.080Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.080Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.080Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.080Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.080Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.080Z] themselves.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.080Z] of how to use transforms.
[2024-06-23T21:30:38.080Z] """
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.080Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.080Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] import copy
[2024-06-23T21:30:38.080Z] import functools
[2024-06-23T21:30:38.080Z] import textwrap
[2024-06-23T21:30:38.080Z] import weakref
[2024-06-23T21:30:38.080Z] import math
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] import numpy as np
[2024-06-23T21:30:38.080Z] from numpy.linalg import inv
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] from matplotlib import _api
[2024-06-23T21:30:38.080Z] > from matplotlib._path import (
[2024-06-23T21:30:38.080Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.080Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.080Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.080Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.080Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.080Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.080Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.080Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.080Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.080Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.080Z] code = main()
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.080Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.080Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.080Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.080Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.080Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.080Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.080Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.080Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.080Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.080Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.080Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.080Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.080Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.080Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.080Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.080Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.080Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.080Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.080Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.080Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.080Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.080Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.080Z] item.runtest()
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.080Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.080Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.080Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.080Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.080Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.080Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 124, in test_renderer_lines
[2024-06-23T21:30:38.080Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.080Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.080Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.080Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.080Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.080Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.080Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.080Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.080Z] from matplotlib._path import (
[2024-06-23T21:30:38.080Z] Traceback (most recent call last):
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.080Z] raise ImportError(msg)
[2024-06-23T21:30:38.080Z] ImportError:
[2024-06-23T21:30:38.080Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.080Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.080Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.080Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.080Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.080Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] ______________ test_renderer_lines[ChunkCombinedCode-True-False] _______________
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] show_text = False, debug = True, line_type = <LineType.ChunkCombinedCode: 103>
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] @pytest.mark.image
[2024-06-23T21:30:38.080Z] @pytest.mark.text
[2024-06-23T21:30:38.080Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.080Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.080Z] @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"])
[2024-06-23T21:30:38.080Z] def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType) -> None:
[2024-06-23T21:30:38.080Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] tests/test_renderer.py:124:
[2024-06-23T21:30:38.080Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.080Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.080Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.080Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.080Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.080Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.080Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.080Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.080Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.080Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.080Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.080Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.080Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.080Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] """
[2024-06-23T21:30:38.080Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.080Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.080Z] elements drawn on the canvas.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.080Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.080Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.080Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.080Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.080Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.080Z] interactive performance.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.080Z] to the graph:
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.080Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.080Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.080Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.080Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.080Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.080Z] themselves.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.080Z] of how to use transforms.
[2024-06-23T21:30:38.080Z] """
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.080Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.080Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] import copy
[2024-06-23T21:30:38.080Z] import functools
[2024-06-23T21:30:38.080Z] import textwrap
[2024-06-23T21:30:38.080Z] import weakref
[2024-06-23T21:30:38.080Z] import math
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] import numpy as np
[2024-06-23T21:30:38.080Z] from numpy.linalg import inv
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] from matplotlib import _api
[2024-06-23T21:30:38.080Z] > from matplotlib._path import (
[2024-06-23T21:30:38.080Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.080Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.080Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.080Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.080Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.080Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.080Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.080Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.080Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.080Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.080Z] code = main()
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.080Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.080Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.080Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.080Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.080Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.080Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.080Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.080Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.080Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.080Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.080Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.080Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.080Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.080Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.080Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.080Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.080Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.080Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.080Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.080Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.080Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.080Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.080Z] item.runtest()
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.080Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.080Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.080Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.080Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.080Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.080Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 124, in test_renderer_lines
[2024-06-23T21:30:38.080Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.080Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.080Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.080Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.080Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.080Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.080Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.080Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.080Z] from matplotlib._path import (
[2024-06-23T21:30:38.080Z] Traceback (most recent call last):
[2024-06-23T21:30:38.080Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.080Z] raise ImportError(msg)
[2024-06-23T21:30:38.080Z] ImportError:
[2024-06-23T21:30:38.080Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.080Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.080Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.080Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.080Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.080Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] _____________ test_renderer_lines[ChunkCombinedOffset-False-False] _____________
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] show_text = False, debug = False
[2024-06-23T21:30:38.080Z] line_type = <LineType.ChunkCombinedOffset: 104>
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] @pytest.mark.image
[2024-06-23T21:30:38.080Z] @pytest.mark.text
[2024-06-23T21:30:38.080Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.080Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.080Z] @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"])
[2024-06-23T21:30:38.080Z] def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType) -> None:
[2024-06-23T21:30:38.080Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] tests/test_renderer.py:124:
[2024-06-23T21:30:38.080Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.080Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.080Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.080Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.080Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.080Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.080Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.080Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.080Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.080Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.080Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.080Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.080Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.080Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] """
[2024-06-23T21:30:38.080Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.080Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.080Z] elements drawn on the canvas.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.080Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.080Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.080Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.080Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.080Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.080Z] interactive performance.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.080Z] to the graph:
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.080Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.080Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.080Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.080Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.080Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.080Z] themselves.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.080Z] of how to use transforms.
[2024-06-23T21:30:38.080Z] """
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.080Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.080Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] import copy
[2024-06-23T21:30:38.080Z] import functools
[2024-06-23T21:30:38.080Z] import textwrap
[2024-06-23T21:30:38.080Z] import weakref
[2024-06-23T21:30:38.080Z] import math
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] import numpy as np
[2024-06-23T21:30:38.080Z] from numpy.linalg import inv
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] from matplotlib import _api
[2024-06-23T21:30:38.080Z] > from matplotlib._path import (
[2024-06-23T21:30:38.080Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.080Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.080Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.080Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.080Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.080Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.080Z]
[2024-06-23T21:30:38.080Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.081Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.081Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.081Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.081Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.081Z] code = main()
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.081Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.081Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.081Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.081Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.081Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.081Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.081Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.081Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.081Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.081Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.081Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.081Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.081Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.081Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.081Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.081Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.081Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.081Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.081Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.081Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.081Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.081Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.081Z] item.runtest()
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.081Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.081Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.081Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.081Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.081Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.081Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 124, in test_renderer_lines
[2024-06-23T21:30:38.081Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.081Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.081Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.081Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.081Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.081Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.081Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.081Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.081Z] from matplotlib._path import (
[2024-06-23T21:30:38.081Z] Traceback (most recent call last):
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.081Z] raise ImportError(msg)
[2024-06-23T21:30:38.081Z] ImportError:
[2024-06-23T21:30:38.081Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.081Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.081Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.081Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.081Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.081Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] _____________ test_renderer_lines[ChunkCombinedOffset-True-False] ______________
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] show_text = False, debug = True, line_type = <LineType.ChunkCombinedOffset: 104>
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] @pytest.mark.image
[2024-06-23T21:30:38.081Z] @pytest.mark.text
[2024-06-23T21:30:38.081Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.081Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.081Z] @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"])
[2024-06-23T21:30:38.081Z] def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType) -> None:
[2024-06-23T21:30:38.081Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] tests/test_renderer.py:124:
[2024-06-23T21:30:38.081Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.081Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.081Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.081Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.081Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.081Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.081Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.081Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.081Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.081Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.081Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.081Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.081Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.081Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] """
[2024-06-23T21:30:38.081Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.081Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.081Z] elements drawn on the canvas.
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.081Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.081Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.081Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.081Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.081Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.081Z] interactive performance.
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.081Z] to the graph:
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.081Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.081Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.081Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.081Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.081Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.081Z] themselves.
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.081Z] of how to use transforms.
[2024-06-23T21:30:38.081Z] """
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.081Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.081Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] import copy
[2024-06-23T21:30:38.081Z] import functools
[2024-06-23T21:30:38.081Z] import textwrap
[2024-06-23T21:30:38.081Z] import weakref
[2024-06-23T21:30:38.081Z] import math
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] import numpy as np
[2024-06-23T21:30:38.081Z] from numpy.linalg import inv
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] from matplotlib import _api
[2024-06-23T21:30:38.081Z] > from matplotlib._path import (
[2024-06-23T21:30:38.081Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.081Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.081Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.081Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.081Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.081Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.081Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.081Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.081Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.081Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.081Z] code = main()
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.081Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.081Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.081Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.081Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.081Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.081Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.081Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.081Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.081Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.081Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.081Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.081Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.081Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.081Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.081Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.081Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.081Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.081Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.081Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.081Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.081Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.081Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.081Z] item.runtest()
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.081Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.081Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.081Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.081Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.081Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.081Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 124, in test_renderer_lines
[2024-06-23T21:30:38.081Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.081Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.081Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.081Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.081Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.081Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.081Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.081Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.081Z] from matplotlib._path import (
[2024-06-23T21:30:38.081Z] Traceback (most recent call last):
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.081Z] raise ImportError(msg)
[2024-06-23T21:30:38.081Z] ImportError:
[2024-06-23T21:30:38.081Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.081Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.081Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.081Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.081Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.081Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] ______________ test_renderer_lines[ChunkCombinedNan-False-False] _______________
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] show_text = False, debug = False, line_type = <LineType.ChunkCombinedNan: 105>
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] @pytest.mark.image
[2024-06-23T21:30:38.081Z] @pytest.mark.text
[2024-06-23T21:30:38.081Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.081Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.081Z] @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"])
[2024-06-23T21:30:38.081Z] def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType) -> None:
[2024-06-23T21:30:38.081Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] tests/test_renderer.py:124:
[2024-06-23T21:30:38.081Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.081Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.081Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.081Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.081Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.081Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.081Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.081Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.081Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.081Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.081Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.081Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.081Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.081Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] """
[2024-06-23T21:30:38.081Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.081Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.081Z] elements drawn on the canvas.
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.081Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.081Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.081Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.081Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.081Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.081Z] interactive performance.
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.081Z] to the graph:
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.081Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.081Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.081Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.081Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.081Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.081Z] themselves.
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.081Z] of how to use transforms.
[2024-06-23T21:30:38.081Z] """
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.081Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.081Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] import copy
[2024-06-23T21:30:38.081Z] import functools
[2024-06-23T21:30:38.081Z] import textwrap
[2024-06-23T21:30:38.081Z] import weakref
[2024-06-23T21:30:38.081Z] import math
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] import numpy as np
[2024-06-23T21:30:38.081Z] from numpy.linalg import inv
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] from matplotlib import _api
[2024-06-23T21:30:38.081Z] > from matplotlib._path import (
[2024-06-23T21:30:38.081Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.081Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.081Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.081Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.081Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.081Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.081Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.081Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.081Z]
[2024-06-23T21:30:38.081Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.081Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.081Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.081Z] code = main()
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.081Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.081Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.081Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.081Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.081Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.081Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.081Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.081Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.081Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.081Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.081Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.081Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.081Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.081Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.081Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.081Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.081Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.081Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.081Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.081Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.081Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.081Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.081Z] item.runtest()
[2024-06-23T21:30:38.081Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.082Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.082Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.082Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.082Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.082Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.082Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 124, in test_renderer_lines
[2024-06-23T21:30:38.082Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.082Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.082Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.082Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.082Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.082Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.082Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.082Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.082Z] from matplotlib._path import (
[2024-06-23T21:30:38.082Z] Traceback (most recent call last):
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.082Z] raise ImportError(msg)
[2024-06-23T21:30:38.082Z] ImportError:
[2024-06-23T21:30:38.082Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.082Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.082Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.082Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.082Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.082Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] _______________ test_renderer_lines[ChunkCombinedNan-True-False] _______________
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] show_text = False, debug = True, line_type = <LineType.ChunkCombinedNan: 105>
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] @pytest.mark.image
[2024-06-23T21:30:38.082Z] @pytest.mark.text
[2024-06-23T21:30:38.082Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.082Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.082Z] @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"])
[2024-06-23T21:30:38.082Z] def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType) -> None:
[2024-06-23T21:30:38.082Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] tests/test_renderer.py:124:
[2024-06-23T21:30:38.082Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.082Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.082Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.082Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.082Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.082Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.082Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.082Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.082Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.082Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.082Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.082Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.082Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.082Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] """
[2024-06-23T21:30:38.082Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.082Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.082Z] elements drawn on the canvas.
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.082Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.082Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.082Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.082Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.082Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.082Z] interactive performance.
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.082Z] to the graph:
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.082Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.082Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.082Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.082Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.082Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.082Z] themselves.
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.082Z] of how to use transforms.
[2024-06-23T21:30:38.082Z] """
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.082Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.082Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] import copy
[2024-06-23T21:30:38.082Z] import functools
[2024-06-23T21:30:38.082Z] import textwrap
[2024-06-23T21:30:38.082Z] import weakref
[2024-06-23T21:30:38.082Z] import math
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] import numpy as np
[2024-06-23T21:30:38.082Z] from numpy.linalg import inv
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] from matplotlib import _api
[2024-06-23T21:30:38.082Z] > from matplotlib._path import (
[2024-06-23T21:30:38.082Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.082Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.082Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.082Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.082Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.082Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.082Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.082Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.082Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.082Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.082Z] code = main()
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.082Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.082Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.082Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.082Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.082Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.082Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.082Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.082Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.082Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.082Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.082Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.082Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.082Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.082Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.082Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.082Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.082Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.082Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.082Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.082Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.082Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.082Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.082Z] item.runtest()
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.082Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.082Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.082Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.082Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.082Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.082Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 124, in test_renderer_lines
[2024-06-23T21:30:38.082Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.082Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.082Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.082Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.082Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.082Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.082Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.082Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.082Z] from matplotlib._path import (
[2024-06-23T21:30:38.082Z] Traceback (most recent call last):
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.082Z] raise ImportError(msg)
[2024-06-23T21:30:38.082Z] ImportError:
[2024-06-23T21:30:38.082Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.082Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.082Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.082Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.082Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.082Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] __________________ test_renderer_lines[Separate1-False-False] __________________
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] show_text = False, debug = False, line_type = 'Separate'
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] @pytest.mark.image
[2024-06-23T21:30:38.082Z] @pytest.mark.text
[2024-06-23T21:30:38.082Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.082Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.082Z] @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"])
[2024-06-23T21:30:38.082Z] def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType) -> None:
[2024-06-23T21:30:38.082Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] tests/test_renderer.py:124:
[2024-06-23T21:30:38.082Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.082Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.082Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.082Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.082Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.082Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.082Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.082Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.082Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.082Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.082Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.082Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.082Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.082Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] """
[2024-06-23T21:30:38.082Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.082Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.082Z] elements drawn on the canvas.
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.082Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.082Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.082Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.082Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.082Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.082Z] interactive performance.
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.082Z] to the graph:
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.082Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.082Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.082Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.082Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.082Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.082Z] themselves.
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.082Z] of how to use transforms.
[2024-06-23T21:30:38.082Z] """
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.082Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.082Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] import copy
[2024-06-23T21:30:38.082Z] import functools
[2024-06-23T21:30:38.082Z] import textwrap
[2024-06-23T21:30:38.082Z] import weakref
[2024-06-23T21:30:38.082Z] import math
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] import numpy as np
[2024-06-23T21:30:38.082Z] from numpy.linalg import inv
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] from matplotlib import _api
[2024-06-23T21:30:38.082Z] > from matplotlib._path import (
[2024-06-23T21:30:38.082Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.082Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.082Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.082Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.082Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.082Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.082Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.082Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.082Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.082Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.082Z] code = main()
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.082Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.082Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.082Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.082Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.082Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.082Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.082Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.082Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.082Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.082Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.082Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.082Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.082Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.082Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.082Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.082Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.082Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.082Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.082Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.082Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.082Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.082Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.082Z] item.runtest()
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.082Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.082Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.082Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.082Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.082Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.082Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 124, in test_renderer_lines
[2024-06-23T21:30:38.082Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.082Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.082Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.082Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.082Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.082Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.082Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.082Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.082Z] from matplotlib._path import (
[2024-06-23T21:30:38.082Z] Traceback (most recent call last):
[2024-06-23T21:30:38.082Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.082Z] raise ImportError(msg)
[2024-06-23T21:30:38.082Z] ImportError:
[2024-06-23T21:30:38.082Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.082Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.082Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.082Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.082Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.082Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] __________________ test_renderer_lines[Separate1-True-False] ___________________
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] show_text = False, debug = True, line_type = 'Separate'
[2024-06-23T21:30:38.082Z]
[2024-06-23T21:30:38.082Z] @pytest.mark.image
[2024-06-23T21:30:38.082Z] @pytest.mark.text
[2024-06-23T21:30:38.083Z] @pytest.mark.parametrize("show_text", [False, True])
[2024-06-23T21:30:38.083Z] @pytest.mark.parametrize("debug", [False, True])
[2024-06-23T21:30:38.083Z] @pytest.mark.parametrize("line_type", [*LineType.__members__.values(), "Separate"])
[2024-06-23T21:30:38.083Z] def test_renderer_lines(show_text: bool, debug: bool, line_type: LineType) -> None:
[2024-06-23T21:30:38.083Z] > from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] tests/test_renderer.py:124:
[2024-06-23T21:30:38.083Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.083Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.083Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.083Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.083Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.083Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.083Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.083Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.083Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.083Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.083Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.083Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.083Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.083Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] """
[2024-06-23T21:30:38.083Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.083Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.083Z] elements drawn on the canvas.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.083Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.083Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.083Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.083Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.083Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.083Z] interactive performance.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.083Z] to the graph:
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.083Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.083Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.083Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.083Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.083Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.083Z] themselves.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.083Z] of how to use transforms.
[2024-06-23T21:30:38.083Z] """
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.083Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.083Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] import copy
[2024-06-23T21:30:38.083Z] import functools
[2024-06-23T21:30:38.083Z] import textwrap
[2024-06-23T21:30:38.083Z] import weakref
[2024-06-23T21:30:38.083Z] import math
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] import numpy as np
[2024-06-23T21:30:38.083Z] from numpy.linalg import inv
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] from matplotlib import _api
[2024-06-23T21:30:38.083Z] > from matplotlib._path import (
[2024-06-23T21:30:38.083Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.083Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.083Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.083Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.083Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.083Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.083Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.083Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.083Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.083Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.083Z] code = main()
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.083Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.083Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.083Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.083Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.083Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.083Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.083Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.083Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.083Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.083Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.083Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.083Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.083Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.083Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.083Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.083Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.083Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.083Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.083Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.083Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.083Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.083Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.083Z] item.runtest()
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.083Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.083Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.083Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.083Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.083Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.083Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 124, in test_renderer_lines
[2024-06-23T21:30:38.083Z] from contourpy.util.mpl_renderer import MplDebugRenderer, MplRenderer
[2024-06-23T21:30:38.083Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.083Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.083Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.083Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.083Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.083Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.083Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.083Z] from matplotlib._path import (
[2024-06-23T21:30:38.083Z] Traceback (most recent call last):
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.083Z] raise ImportError(msg)
[2024-06-23T21:30:38.083Z] ImportError:
[2024-06-23T21:30:38.083Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.083Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.083Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.083Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.083Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.083Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] _____________________________ test_save_png[False] _____________________________
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] transparent = False
[2024-06-23T21:30:38.083Z] tmpdir = local('/tmp/pytest-of-builduser/pytest-0/test_save_png_False_0')
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] @pytest.mark.image
[2024-06-23T21:30:38.083Z] @pytest.mark.parametrize("transparent", [False, True])
[2024-06-23T21:30:38.083Z] def test_save_png(transparent: bool, tmpdir: LocalPath) -> None:
[2024-06-23T21:30:38.083Z] from PIL import Image
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] > from contourpy.util.mpl_renderer import MplRenderer
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] tests/test_renderer.py:174:
[2024-06-23T21:30:38.083Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.083Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.083Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.083Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.083Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.083Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.083Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.083Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.083Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.083Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.083Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.083Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.083Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.083Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] """
[2024-06-23T21:30:38.083Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.083Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.083Z] elements drawn on the canvas.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.083Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.083Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.083Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.083Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.083Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.083Z] interactive performance.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.083Z] to the graph:
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.083Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.083Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.083Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.083Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.083Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.083Z] themselves.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.083Z] of how to use transforms.
[2024-06-23T21:30:38.083Z] """
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.083Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.083Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] import copy
[2024-06-23T21:30:38.083Z] import functools
[2024-06-23T21:30:38.083Z] import textwrap
[2024-06-23T21:30:38.083Z] import weakref
[2024-06-23T21:30:38.083Z] import math
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] import numpy as np
[2024-06-23T21:30:38.083Z] from numpy.linalg import inv
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] from matplotlib import _api
[2024-06-23T21:30:38.083Z] > from matplotlib._path import (
[2024-06-23T21:30:38.083Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.083Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.083Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.083Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.083Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.083Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.083Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.083Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.083Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.083Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.083Z] code = main()
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.083Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.083Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.083Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.083Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.083Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.083Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.083Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.083Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.083Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.083Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.083Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.083Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.083Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.083Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.083Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.083Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.083Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.083Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.083Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.083Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.083Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.083Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.083Z] item.runtest()
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.083Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.083Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.083Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.083Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.083Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.083Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 174, in test_save_png
[2024-06-23T21:30:38.083Z] from contourpy.util.mpl_renderer import MplRenderer
[2024-06-23T21:30:38.083Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.083Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.083Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.083Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.083Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.083Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.083Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.083Z] from matplotlib._path import (
[2024-06-23T21:30:38.083Z] Traceback (most recent call last):
[2024-06-23T21:30:38.083Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.083Z] raise ImportError(msg)
[2024-06-23T21:30:38.083Z] ImportError:
[2024-06-23T21:30:38.083Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.083Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.083Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.083Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.083Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.083Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] _____________________________ test_save_png[True] ______________________________
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] transparent = True
[2024-06-23T21:30:38.083Z] tmpdir = local('/tmp/pytest-of-builduser/pytest-0/test_save_png_True_0')
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] @pytest.mark.image
[2024-06-23T21:30:38.083Z] @pytest.mark.parametrize("transparent", [False, True])
[2024-06-23T21:30:38.083Z] def test_save_png(transparent: bool, tmpdir: LocalPath) -> None:
[2024-06-23T21:30:38.083Z] from PIL import Image
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] > from contourpy.util.mpl_renderer import MplRenderer
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] tests/test_renderer.py:174:
[2024-06-23T21:30:38.083Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.083Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.083Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.083Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.083Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.083Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.083Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.083Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.083Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.083Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.083Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.083Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.083Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.083Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] """
[2024-06-23T21:30:38.083Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.083Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.083Z] elements drawn on the canvas.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.083Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.083Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.083Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.083Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.083Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.083Z] interactive performance.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.083Z] to the graph:
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.083Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.083Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.083Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.083Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.083Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.083Z] themselves.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.083Z] of how to use transforms.
[2024-06-23T21:30:38.083Z] """
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.083Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.083Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] import copy
[2024-06-23T21:30:38.083Z] import functools
[2024-06-23T21:30:38.083Z] import textwrap
[2024-06-23T21:30:38.083Z] import weakref
[2024-06-23T21:30:38.083Z] import math
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] import numpy as np
[2024-06-23T21:30:38.083Z] from numpy.linalg import inv
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.083Z] from matplotlib import _api
[2024-06-23T21:30:38.083Z] > from matplotlib._path import (
[2024-06-23T21:30:38.083Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.083Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.083Z]
[2024-06-23T21:30:38.084Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.084Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.084Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.084Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.084Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.084Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.084Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.084Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.084Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.084Z] code = main()
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.084Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.084Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.084Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.084Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.084Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.084Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.084Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.084Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.084Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.084Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.084Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.084Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.084Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.084Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.084Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.084Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.084Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.084Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.084Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.084Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.084Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.084Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.084Z] item.runtest()
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.084Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.084Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.084Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.084Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.084Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.084Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 174, in test_save_png
[2024-06-23T21:30:38.084Z] from contourpy.util.mpl_renderer import MplRenderer
[2024-06-23T21:30:38.084Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.084Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.084Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.084Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.084Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.084Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.084Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.084Z] from matplotlib._path import (
[2024-06-23T21:30:38.084Z] Traceback (most recent call last):
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.084Z] raise ImportError(msg)
[2024-06-23T21:30:38.084Z] ImportError:
[2024-06-23T21:30:38.084Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.084Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.084Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.084Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.084Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.084Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] _____________________________ test_save_svg[False] _____________________________
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] transparent = False
[2024-06-23T21:30:38.084Z] tmpdir = local('/tmp/pytest-of-builduser/pytest-0/test_save_svg_False_0')
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] @pytest.mark.image
[2024-06-23T21:30:38.084Z] @pytest.mark.parametrize("transparent", [False, True])
[2024-06-23T21:30:38.084Z] def test_save_svg(transparent: bool, tmpdir: LocalPath) -> None:
[2024-06-23T21:30:38.084Z] > from contourpy.util.mpl_renderer import MplRenderer
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] tests/test_renderer.py:194:
[2024-06-23T21:30:38.084Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.084Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.084Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.084Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.084Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.084Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.084Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.084Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.084Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.084Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.084Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.084Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.084Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.084Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] """
[2024-06-23T21:30:38.084Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.084Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.084Z] elements drawn on the canvas.
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.084Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.084Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.084Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.084Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.084Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.084Z] interactive performance.
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.084Z] to the graph:
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.084Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.084Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.084Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.084Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.084Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.084Z] themselves.
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.084Z] of how to use transforms.
[2024-06-23T21:30:38.084Z] """
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.084Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.084Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] import copy
[2024-06-23T21:30:38.084Z] import functools
[2024-06-23T21:30:38.084Z] import textwrap
[2024-06-23T21:30:38.084Z] import weakref
[2024-06-23T21:30:38.084Z] import math
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] import numpy as np
[2024-06-23T21:30:38.084Z] from numpy.linalg import inv
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] from matplotlib import _api
[2024-06-23T21:30:38.084Z] > from matplotlib._path import (
[2024-06-23T21:30:38.084Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.084Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.084Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.084Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.084Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.084Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.084Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.084Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.084Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.084Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.084Z] code = main()
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.084Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.084Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.084Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.084Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.084Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.084Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.084Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.084Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.084Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.084Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.084Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.084Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.084Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.084Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.084Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.084Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.084Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.084Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.084Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.084Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.084Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.084Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.084Z] item.runtest()
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.084Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.084Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.084Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.084Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.084Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.084Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 194, in test_save_svg
[2024-06-23T21:30:38.084Z] from contourpy.util.mpl_renderer import MplRenderer
[2024-06-23T21:30:38.084Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.084Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.084Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.084Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.084Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.084Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.084Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.084Z] from matplotlib._path import (
[2024-06-23T21:30:38.084Z] Traceback (most recent call last):
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.084Z] raise ImportError(msg)
[2024-06-23T21:30:38.084Z] ImportError:
[2024-06-23T21:30:38.084Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.084Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.084Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.084Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.084Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.084Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] _____________________________ test_save_svg[True] ______________________________
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] transparent = True
[2024-06-23T21:30:38.084Z] tmpdir = local('/tmp/pytest-of-builduser/pytest-0/test_save_svg_True_0')
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] @pytest.mark.image
[2024-06-23T21:30:38.084Z] @pytest.mark.parametrize("transparent", [False, True])
[2024-06-23T21:30:38.084Z] def test_save_svg(transparent: bool, tmpdir: LocalPath) -> None:
[2024-06-23T21:30:38.084Z] > from contourpy.util.mpl_renderer import MplRenderer
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] tests/test_renderer.py:194:
[2024-06-23T21:30:38.084Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.084Z] test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py:6: in <module>
[2024-06-23T21:30:38.084Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.084Z] /usr/lib/python3.12/site-packages/matplotlib/__init__.py:161: in <module>
[2024-06-23T21:30:38.084Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.084Z] /usr/lib/python3.12/site-packages/matplotlib/rcsetup.py:27: in <module>
[2024-06-23T21:30:38.084Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.084Z] /usr/lib/python3.12/site-packages/matplotlib/colors.py:57: in <module>
[2024-06-23T21:30:38.084Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.084Z] /usr/lib/python3.12/site-packages/matplotlib/scale.py:22: in <module>
[2024-06-23T21:30:38.084Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.084Z] /usr/lib/python3.12/site-packages/matplotlib/ticker.py:143: in <module>
[2024-06-23T21:30:38.084Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.084Z] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] """
[2024-06-23T21:30:38.084Z] Matplotlib includes a framework for arbitrary geometric
[2024-06-23T21:30:38.084Z] transformations that is used determine the final position of all
[2024-06-23T21:30:38.084Z] elements drawn on the canvas.
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] Transforms are composed into trees of `TransformNode` objects
[2024-06-23T21:30:38.084Z] whose actual value depends on their children. When the contents of
[2024-06-23T21:30:38.084Z] children change, their parents are automatically invalidated. The
[2024-06-23T21:30:38.084Z] next time an invalidated transform is accessed, it is recomputed to
[2024-06-23T21:30:38.084Z] reflect those changes. This invalidation/caching approach prevents
[2024-06-23T21:30:38.084Z] unnecessary recomputations of transforms, and contributes to better
[2024-06-23T21:30:38.084Z] interactive performance.
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] For example, here is a graph of the transform tree used to plot data
[2024-06-23T21:30:38.084Z] to the graph:
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] .. image:: ../_static/transforms.png
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] The framework can be used for both affine and non-affine
[2024-06-23T21:30:38.084Z] transformations. However, for speed, we want to use the backend
[2024-06-23T21:30:38.084Z] renderers to perform affine transformations whenever possible.
[2024-06-23T21:30:38.084Z] Therefore, it is possible to perform just the affine or non-affine
[2024-06-23T21:30:38.084Z] part of a transformation on a set of data. The affine is always
[2024-06-23T21:30:38.084Z] assumed to occur after the non-affine. For any transform::
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] full transform == non-affine part + affine part
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] The backends are not expected to handle non-affine transformations
[2024-06-23T21:30:38.084Z] themselves.
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] See the tutorial :ref:`transforms_tutorial` for examples
[2024-06-23T21:30:38.084Z] of how to use transforms.
[2024-06-23T21:30:38.084Z] """
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] # Note: There are a number of places in the code where we use `np.min` or
[2024-06-23T21:30:38.084Z] # `np.minimum` instead of the builtin `min`, and likewise for `max`. This is
[2024-06-23T21:30:38.084Z] # done so that `nan`s are propagated, instead of being silently dropped.
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] import copy
[2024-06-23T21:30:38.084Z] import functools
[2024-06-23T21:30:38.084Z] import textwrap
[2024-06-23T21:30:38.084Z] import weakref
[2024-06-23T21:30:38.084Z] import math
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] import numpy as np
[2024-06-23T21:30:38.084Z] from numpy.linalg import inv
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] from matplotlib import _api
[2024-06-23T21:30:38.084Z] > from matplotlib._path import (
[2024-06-23T21:30:38.084Z] affine_transform, count_bboxes_overlapping_bbox, update_path_extents)
[2024-06-23T21:30:38.084Z] E ImportError: numpy.core.multiarray failed to import
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] /usr/lib/python3.12/site-packages/matplotlib/transforms.py:49: ImportError
[2024-06-23T21:30:38.084Z] ----------------------------- Captured stderr call -----------------------------
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.084Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.084Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.084Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.084Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.084Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.084Z]
[2024-06-23T21:30:38.084Z] Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main
[2024-06-23T21:30:38.084Z] File "<frozen runpy>", line 88, in _run_code
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pytest/__main__.py", line 7, in <module>
[2024-06-23T21:30:38.084Z] raise SystemExit(pytest.console_main())
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 206, in console_main
[2024-06-23T21:30:38.084Z] code = main()
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/config/__init__.py", line 178, in main
[2024-06-23T21:30:38.084Z] ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.084Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.084Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.084Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 332, in pytest_cmdline_main
[2024-06-23T21:30:38.084Z] return wrap_session(config, _main)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 285, in wrap_session
[2024-06-23T21:30:38.084Z] session.exitstatus = doit(config, session) or 0
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 339, in _main
[2024-06-23T21:30:38.084Z] config.hook.pytest_runtestloop(session=session)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.084Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.084Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.084Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/_pytest/main.py", line 364, in pytest_runtestloop
[2024-06-23T21:30:38.084Z] item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.084Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.084Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.084Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.085Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 116, in pytest_runtest_protocol
[2024-06-23T21:30:38.085Z] runtestprotocol(item, nextitem=nextitem)
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 135, in runtestprotocol
[2024-06-23T21:30:38.085Z] reports.append(call_and_report(item, "call", log))
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 240, in call_and_report
[2024-06-23T21:30:38.085Z] call = CallInfo.from_call(
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call
[2024-06-23T21:30:38.085Z] result: Optional[TResult] = func()
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in <lambda>
[2024-06-23T21:30:38.085Z] lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.085Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.085Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.085Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
[2024-06-23T21:30:38.085Z] item.runtest()
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest
[2024-06-23T21:30:38.085Z] self.ihook.pytest_pyfunc_call(pyfuncitem=self)
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__
[2024-06-23T21:30:38.085Z] return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
[2024-06-23T21:30:38.085Z] return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall
[2024-06-23T21:30:38.085Z] res = hook_impl.function(*args)
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
[2024-06-23T21:30:38.085Z] result = testfunction(**testargs)
[2024-06-23T21:30:38.085Z] File "/build/python-contourpy/src/contourpy-1.2.1/tests/test_renderer.py", line 194, in test_save_svg
[2024-06-23T21:30:38.085Z] from contourpy.util.mpl_renderer import MplRenderer
[2024-06-23T21:30:38.085Z] File "/build/python-contourpy/src/contourpy-1.2.1/test-env/lib/python3.12/site-packages/contourpy/util/mpl_renderer.py", line 6, in <module>
[2024-06-23T21:30:38.085Z] import matplotlib.collections as mcollections
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/matplotlib/__init__.py", line 161, in <module>
[2024-06-23T21:30:38.085Z] from . import _api, _version, cbook, _docstring, rcsetup
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/matplotlib/rcsetup.py", line 27, in <module>
[2024-06-23T21:30:38.085Z] from matplotlib.colors import Colormap, is_color_like
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/matplotlib/colors.py", line 57, in <module>
[2024-06-23T21:30:38.085Z] from matplotlib import _api, _cm, cbook, scale
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/matplotlib/scale.py", line 22, in <module>
[2024-06-23T21:30:38.085Z] from matplotlib.ticker import (
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/matplotlib/ticker.py", line 143, in <module>
[2024-06-23T21:30:38.085Z] from matplotlib import transforms as mtransforms
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/matplotlib/transforms.py", line 49, in <module>
[2024-06-23T21:30:38.085Z] from matplotlib._path import (
[2024-06-23T21:30:38.085Z] Traceback (most recent call last):
[2024-06-23T21:30:38.085Z] File "/usr/lib/python3.12/site-packages/numpy/core/_multiarray_umath.py", line 44, in __getattr__
[2024-06-23T21:30:38.085Z] raise ImportError(msg)
[2024-06-23T21:30:38.085Z] ImportError:
[2024-06-23T21:30:38.085Z] A module that was compiled using NumPy 1.x cannot be run in
[2024-06-23T21:30:38.085Z] NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
[2024-06-23T21:30:38.085Z] versions of NumPy, modules must be compiled with NumPy 2.0.
[2024-06-23T21:30:38.085Z] Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.
[2024-06-23T21:30:38.085Z]
[2024-06-23T21:30:38.085Z] If you are a user of the module, the easiest solution will be to
[2024-06-23T21:30:38.085Z] downgrade to 'numpy<2' or try to upgrade the affected module.
[2024-06-23T21:30:38.085Z] We expect that some modules will need time to support NumPy 2.
[2024-06-23T21:30:38.085Z]
[2024-06-23T21:30:38.085Z]
[2024-06-23T21:30:38.085Z] =========================== short test summary info ============================
[2024-06-23T21:30:38.085Z] FAILED tests/test_config.py::test_config_filled[mpl2005-False] - ImportError:...
[2024-06-23T21:30:38.085Z] FAILED tests/test_config.py::test_config_filled[mpl2014-False] - ImportError:...
[2024-06-23T21:30:38.085Z] FAILED tests/test_config.py::test_config_filled[serial-False] - ImportError: ...
[2024-06-23T21:30:38.085Z] FAILED tests/test_config.py::test_config_filled[threaded-False] - ImportError...
[2024-06-23T21:30:38.085Z] FAILED tests/test_config.py::test_config_filled_quad_as_tri[serial-False] - I...
[2024-06-23T21:30:38.085Z] FAILED tests/test_config.py::test_config_filled_quad_as_tri[threaded-False]
[2024-06-23T21:30:38.085Z] FAILED tests/test_config.py::test_config_filled_corner[mpl2014-False] - Impor...
[2024-06-23T21:30:38.085Z] FAILED tests/test_config.py::test_config_filled_corner[serial-False] - Import...
[2024-06-23T21:30:38.085Z] FAILED tests/test_config.py::test_config_filled_corner[threaded-False] - Impo...
[2024-06-23T21:30:38.085Z] FAILED tests/test_config.py::test_config_lines[mpl2005-False] - ImportError: ...
[2024-06-23T21:30:38.085Z] FAILED tests/test_config.py::test_config_lines[mpl2014-False] - ImportError: ...
[2024-06-23T21:30:38.085Z] FAILED tests/test_config.py::test_config_lines[serial-False] - ImportError: n...
[2024-06-23T21:30:38.085Z] FAILED tests/test_config.py::test_config_lines[threaded-False] - ImportError:...
[2024-06-23T21:30:38.085Z] FAILED tests/test_config.py::test_config_lines_quad_as_tri[serial-False] - Im...
[2024-06-23T21:30:38.085Z] FAILED tests/test_config.py::test_config_lines_quad_as_tri[threaded-False] - ...
[2024-06-23T21:30:38.085Z] FAILED tests/test_config.py::test_config_lines_corner[mpl2014-False] - Import...
[2024-06-23T21:30:38.085Z] FAILED tests/test_config.py::test_config_lines_corner[serial-False] - ImportE...
[2024-06-23T21:30:38.085Z] FAILED tests/test_config.py::test_config_lines_corner[threaded-False] - Impor...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple[mpl2005-OuterCode] - ImportEr...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple[mpl2014-OuterCode] - ImportEr...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple[serial-OuterCode] - ImportErr...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple[serial-OuterOffset] - ImportE...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple[serial-ChunkCombinedCode] - I...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple[serial-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple[serial-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple[serial-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple[threaded-OuterCode] - ImportE...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple[threaded-OuterOffset] - Impor...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple[threaded-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk[mpl2005-OuterCode] - Im...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk[mpl2014-OuterCode] - Im...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk[serial-OuterCode] - Imp...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk[serial-OuterOffset] - I...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk[serial-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk[threaded-OuterCode] - I...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk[threaded-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk[threaded-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[2-OuterCode] - ...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[2-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[2-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[2-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[2-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[2-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[3-OuterCode] - ...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[3-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[3-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[3-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[3-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_chunk_threads[3-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[mpl2005-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[mpl2014-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[serial-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[serial-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[serial-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[serial-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[serial-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[serial-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask[threaded-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[mpl2005-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[mpl2014-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[serial-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk[threaded-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_no_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_corner_mask[mpl2014] - Import...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_corner_mask[serial] - ImportE...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_corner_mask[threaded] - Impor...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk[mpl2014] - ...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk[serial] - I...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk[threaded]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_quad_as_tri[serial] - ImportE...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_simple_quad_as_tri[threaded] - Impor...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random[mpl2005-OuterCode] - ImportEr...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random[mpl2014-OuterCode] - ImportEr...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random[serial-OuterCode] - ImportErr...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random[serial-OuterOffset] - ImportE...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random[serial-ChunkCombinedCode] - I...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random[serial-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random[serial-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random[serial-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random[threaded-OuterCode] - ImportE...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random[threaded-OuterOffset] - Impor...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random[threaded-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random[threaded-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random[threaded-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random[threaded-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk[mpl2005-OuterCode] - Im...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk[mpl2014-OuterCode] - Im...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk[serial-OuterCode] - Imp...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk[serial-OuterOffset] - I...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk[serial-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk[threaded-OuterCode] - I...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk[threaded-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk[threaded-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk_threads[2-OuterCode] - ...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk_threads[2-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk_threads[2-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk_threads[2-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk_threads[2-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk_threads[2-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk_threads[3-OuterCode] - ...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk_threads[3-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk_threads[3-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk_threads[3-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk_threads[3-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_chunk_threads[3-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[mpl2005-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[mpl2014-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[serial-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[serial-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[serial-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[serial-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[serial-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[serial-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[threaded-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[threaded-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[threaded-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[threaded-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[threaded-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask[threaded-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[mpl2005-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[mpl2014-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[serial-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk[threaded-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_no_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_corner_mask[mpl2014] - Import...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_corner_mask[serial] - ImportE...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_corner_mask[threaded] - Impor...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk[mpl2014] - ...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk[serial] - I...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk[threaded]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[2-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-OuterCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-OuterOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedCodeOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_corner_mask_chunk_threads[3-ChunkCombinedOffsetOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_quad_as_tri[serial] - ImportE...
[2024-06-23T21:30:38.085Z] FAILED tests/test_filled.py::test_filled_random_quad_as_tri[threaded] - Impor...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple[mpl2005-SeparateCode] - ImportE...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple[mpl2014-SeparateCode] - ImportE...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple[serial-Separate] - ImportError:...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple[serial-SeparateCode] - ImportEr...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple[serial-ChunkCombinedCode] - Imp...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple[serial-ChunkCombinedOffset] - I...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple[serial-ChunkCombinedNan] - Impo...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple[threaded-Separate] - ImportErro...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple[threaded-SeparateCode] - Import...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple[threaded-ChunkCombinedCode] - I...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple[threaded-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple[threaded-ChunkCombinedNan] - Im...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk[mpl2005-SeparateCode] - I...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk[mpl2014-SeparateCode] - I...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk[serial-Separate] - Import...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk[serial-SeparateCode] - Im...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk[serial-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk[serial-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk[serial-ChunkCombinedNan]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk[threaded-Separate] - Impo...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk[threaded-SeparateCode] - ...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk[threaded-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk[threaded-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk[threaded-ChunkCombinedNan]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk_threads[2-Separate] - Imp...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk_threads[2-SeparateCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk_threads[2-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk_threads[2-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk_threads[2-ChunkCombinedNan]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk_threads[3-Separate] - Imp...
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk_threads[3-SeparateCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk_threads[3-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk_threads[3-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_chunk_threads[3-ChunkCombinedNan]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[mpl2005-SeparateCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[mpl2014-SeparateCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[serial-Separate]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[serial-SeparateCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[serial-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[serial-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[serial-ChunkCombinedNan]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-Separate]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-SeparateCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask[threaded-ChunkCombinedNan]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[mpl2005-SeparateCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[mpl2014-SeparateCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-Separate]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-SeparateCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[serial-ChunkCombinedNan]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-Separate]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-SeparateCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-ChunkCombinedCode]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-ChunkCombinedOffset]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk[threaded-ChunkCombinedNan]
[2024-06-23T21:30:38.085Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-Separate]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-SeparateCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-ChunkCombinedCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-ChunkCombinedOffset]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[2-ChunkCombinedNan]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-Separate]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-SeparateCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-ChunkCombinedCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-ChunkCombinedOffset]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_no_corner_mask_chunk_threads[3-ChunkCombinedNan]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_corner_mask[mpl2014] - ImportEr...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_corner_mask[serial] - ImportErr...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_corner_mask[threaded] - ImportE...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk[mpl2014] - Im...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk[serial] - Imp...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk[threaded] - I...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-Separate]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-SeparateCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-ChunkCombinedCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-ChunkCombinedOffset]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[2-ChunkCombinedNan]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-Separate]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-SeparateCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-ChunkCombinedCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-ChunkCombinedOffset]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_corner_mask_chunk_threads[3-ChunkCombinedNan]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_quad_as_tri[serial] - ImportErr...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_simple_quad_as_tri[threaded] - ImportE...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random[mpl2005-SeparateCode] - ImportE...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random[mpl2014-SeparateCode] - ImportE...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random[serial-Separate] - ImportError:...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random[serial-SeparateCode] - ImportEr...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random[serial-ChunkCombinedCode] - Imp...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random[serial-ChunkCombinedOffset] - I...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random[serial-ChunkCombinedNan] - Impo...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random[threaded-Separate] - ImportErro...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random[threaded-SeparateCode] - Import...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random[threaded-ChunkCombinedCode] - I...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random[threaded-ChunkCombinedOffset]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random[threaded-ChunkCombinedNan] - Im...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk[mpl2005-SeparateCode] - I...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk[mpl2014-SeparateCode] - I...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk[serial-Separate] - Import...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk[serial-SeparateCode] - Im...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk[serial-ChunkCombinedCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk[serial-ChunkCombinedOffset]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk[serial-ChunkCombinedNan]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk[threaded-Separate] - Impo...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk[threaded-SeparateCode] - ...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk[threaded-ChunkCombinedCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk[threaded-ChunkCombinedOffset]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk[threaded-ChunkCombinedNan]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk_threads[2-Separate] - Imp...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk_threads[2-SeparateCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk_threads[2-ChunkCombinedCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk_threads[2-ChunkCombinedOffset]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk_threads[2-ChunkCombinedNan]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk_threads[3-Separate] - Imp...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk_threads[3-SeparateCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk_threads[3-ChunkCombinedCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk_threads[3-ChunkCombinedOffset]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_chunk_threads[3-ChunkCombinedNan]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[mpl2005-SeparateCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[mpl2014-SeparateCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[serial-Separate]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[serial-SeparateCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[serial-ChunkCombinedCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[serial-ChunkCombinedOffset]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[serial-ChunkCombinedNan]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[threaded-Separate]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[threaded-SeparateCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[threaded-ChunkCombinedCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[threaded-ChunkCombinedOffset]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask[threaded-ChunkCombinedNan]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[mpl2005-SeparateCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[mpl2014-SeparateCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-Separate]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-SeparateCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-ChunkCombinedCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-ChunkCombinedOffset]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[serial-ChunkCombinedNan]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-Separate]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-SeparateCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-ChunkCombinedCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-ChunkCombinedOffset]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk[threaded-ChunkCombinedNan]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-Separate]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-SeparateCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-ChunkCombinedCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-ChunkCombinedOffset]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[2-ChunkCombinedNan]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-Separate]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-SeparateCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-ChunkCombinedCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-ChunkCombinedOffset]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_no_corner_mask_chunk_threads[3-ChunkCombinedNan]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_corner_mask[mpl2014] - ImportEr...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_corner_mask[serial] - ImportErr...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_corner_mask[threaded] - ImportE...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk[mpl2014] - Im...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk[serial] - Imp...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk[threaded] - I...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-Separate]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-SeparateCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-ChunkCombinedCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-ChunkCombinedOffset]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[2-ChunkCombinedNan]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-Separate]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-SeparateCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-ChunkCombinedCode]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-ChunkCombinedOffset]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_corner_mask_chunk_threads[3-ChunkCombinedNan]
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_quad_as_tri[serial] - ImportErr...
[2024-06-23T21:30:38.086Z] FAILED tests/test_lines.py::test_lines_random_quad_as_tri[threaded] - ImportE...
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_debug_renderer_filled[OuterCode0-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_debug_renderer_filled[OuterOffset-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_debug_renderer_filled[ChunkCombinedCode-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_debug_renderer_filled[ChunkCombinedOffset-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_debug_renderer_filled[ChunkCombinedCodeOffset-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_debug_renderer_filled[ChunkCombinedOffsetOffset-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_debug_renderer_filled[OuterCode1-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_debug_renderer_lines[Separate0-False] - I...
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_debug_renderer_lines[SeparateCode-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_debug_renderer_lines[ChunkCombinedCode-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_debug_renderer_lines[ChunkCombinedOffset-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_debug_renderer_lines[ChunkCombinedNan-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_debug_renderer_lines[Separate1-False] - I...
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_filled[OuterCode0-False-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_filled[OuterCode0-True-False] - ...
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_filled[OuterOffset-False-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_filled[OuterOffset-True-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_filled[ChunkCombinedCode-False-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_filled[ChunkCombinedCode-True-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_filled[ChunkCombinedOffset-False-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_filled[ChunkCombinedOffset-True-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_filled[ChunkCombinedCodeOffset-False-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_filled[ChunkCombinedCodeOffset-True-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_filled[ChunkCombinedOffsetOffset-False-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_filled[ChunkCombinedOffsetOffset-True-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_filled[OuterCode1-False-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_filled[OuterCode1-True-False] - ...
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_lines[Separate0-False-False] - I...
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_lines[Separate0-True-False] - Im...
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_lines[SeparateCode-False-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_lines[SeparateCode-True-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_lines[ChunkCombinedCode-False-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_lines[ChunkCombinedCode-True-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_lines[ChunkCombinedOffset-False-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_lines[ChunkCombinedOffset-True-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_lines[ChunkCombinedNan-False-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_lines[ChunkCombinedNan-True-False]
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_lines[Separate1-False-False] - I...
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_renderer_lines[Separate1-True-False] - Im...
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_save_png[False] - ImportError: numpy.core...
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_save_png[True] - ImportError: numpy.core....
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_save_svg[False] - ImportError: numpy.core...
[2024-06-23T21:30:38.086Z] FAILED tests/test_renderer.py::test_save_svg[True] - ImportError: numpy.core....
[2024-06-23T21:30:38.086Z] =========== 433 failed, 1802 passed, 74 skipped in 488.47s (0:08:08) ===========
[2024-06-23T21:30:38.336Z] ==> ERROR: A failure occurred in check().
[2024-06-23T21:30:38.336Z] Aborting...
[2024-06-23T21:30:40.819Z] ==> ERROR: Build failed, check /build/buildpkg/world-goblins-x86_64/jenkins/build
[Pipeline] }
[2024-06-23T21:30:40.822Z] ERROR: Failed to build source
[2024-06-23T21:30:40.822Z] ERROR: script returned exit code 255
[2024-06-23T21:30:40.822Z] Setting overall build result to FAILURE
[Pipeline] // catchError
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Check)
Stage "Check" skipped due to when conditional
[Pipeline] getContext
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Sign)
Stage "Sign" skipped due to when conditional
[Pipeline] getContext
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Add)
Stage "Add" skipped due to when conditional
[Pipeline] getContext
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Remove)
Stage "Remove" skipped due to when conditional
[Pipeline] getContext
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Declarative: Post Actions)
[Pipeline] emailext
[2024-06-23T21:30:40.986Z] Sending email to: artix-build-failures at artixlinux.org
More information about the artix-build-failures
mailing list